MAPL 2.35.0
This minor release of MAPL has many new features and changes as detailed below. All testing with GEOSgcm has shown it to be zero-diff.
NOTE: This is zero-diff in regards to the state of GEOSgcm. Due to a bug fix in the bit-shaving algorithm, if you use nbits:
in your History, it will be non-zero-diff for history output, see #1947
NOTE TO EXTERNAL USERS OF MAPL: This release of MAPL includes a code that is built with f2py. If you do not have a need for this code, it is recommended you set:
-DUSE_F2PY=OFF
when building MAPL. Even if you try to build the f2py code, it might fail anyway due to issues with the Python stack on the machine. ESMA_cmake has code that "tests" if f2py works. If it doesn't, it should failover gracefully.
The libraries this version of MAPL is currently tested with are below. (No change since last release of MAPL)
- Baselibs 7.7.0
- netcdf-c 4.9.0 (Needed for quantize support, but not required for all of MAPL)
- netcdf-fortran 4.6.0 (Needed for quantize support, but not required for all of MAPL)
- ESMF 8.4.0 (Required)
- GFE 1.8.0
- gFTL 1.8.1
- gFTL-shared 1.5.0
- pFUnit 4.6.1 (optional)
- fArgParse 1.4.1 (if
-DBUILD_WITH_FARGPARSE=YES
, default=YES
) - pFlogger 1.9.1 (if
-DBUILD_WITH_PFLOGGER=YES
, default=YES
) - yaFyaml 1.0.4 (if
-DUSE_EXTDATA2G=YES
, default=YES
) - FLAP geos/v1.10.0 (if
-DBUILD_WITH_FLAP=YES
, default=YES
)
From CHANGELOG.md
Added
- Added subroutines to read char type in Netcdf
- Added a subroutine add_variable to Netcdf4_Fileformatter
- Add a function to get the area of a spherical polygon to the spherical geometry module
- Created layout independent version of the "DownBit"/"pFIO_ShaveMantissa" routines when running in MPI codes
- Added subroutine
MAPL_SunGetLocalSolarHourAngle()
inbase/MAPL_sun_uc.F90
. This
provides a convenient local solar hour angle diagnostic which will be used to detect local
solar noon via theEXAMPLE OF USE
in the subroutine header. SeeDESCRIPTION
in code
for more details. Provides the TRUE local solar hour angle (i.e., with equation of time
included), but can also provide the MEAN value (without EOT) viaFORCE_MLSHA=.TRUE.
optional argument. - Add
shavemantissa
f2py code. This is used by AeroApps.- NOTE: If you do not have a need for this code, build with
-DUSE_F2PY=OFF
. Note that even if you try to build the f2py code, it might fail anyway due to issues with the Python stack on the machine. ESMA_cmake has code that "tests" if f2py works. If it doesn't, it should failover gracefully.
- NOTE: If you do not have a need for this code, build with
Changed
- Changed set_grid method so users have a chance to specify the grid type
- Renamed
get_regrid_method
andtranslate_regrid_method
toregrid_method_string_to_int
andregrid_method_int_to_string
respectively inRegridMethods.F90
. This was done so we could addget_regrid_method
to the AbstractRegridder. The new names
more accurately reflect what the RegridMethods functions do. - Changed call to
MAPL_SunOrbitCreate()
insideMAPL_Generic.F90
to call to new function
MAPL_SunOrbitCreateFromConfig()
, the latter which get the orbital parameters from the MAPL
state's Config. In this way no default orbital parameter values need appear inMAPL_Generic.F90
.
Rather, these default values are encapsulated where they belong inSun_Mod
inbase/MAPL_sun_uc.F90
and are now explicitly named and commented on at the head of the module. This is a structural
zero-diff change. - Created
MAPL.profiler
logger and moved throughput, per-component, and global timers to use it - Moved most of the MAPL_GetResource generic subroutine to a new module, MAPL_ResourceMod, in base.
The specific subroutines remain in MAPL_GenericMod to maintain the interface in one module, but
most of the functionality is in MAPL_ResourceMod now. - Update "build like UFS" CI test
- Converted the History Gridded Component to use
_RC
and_STAT
macros
Fixed
- Changed the type of output counters to INT64 for large file.
- Tested optional arguments arrdes in MAPL_WriteVars
- Added the correct values to halo corner of LatLon grid
- Fixed range in halo of LatLonGridFactory
- Corrected issue with native output having metadata saying it was bilinearly regridded. Now sets these files to have
regrid_method: identity
- Fix bug in
mapl_acg.cmake
that caused unnecessary rebuilds - Fixed error handling for refactored MAPL_GetResource
What's Changed
- Update MAPL_sun_uc.F90 by @adarmenov in #1900
- Bump actions/checkout from 3.2.0 to 3.3.0 by @dependabot in #1905
- fix typo in the range of halo in LatLonGridfactory by @weiyuan-jiang in #1909
- Feature/pnorris/#1882 add local solar hour angle diagnostic by @dr0cloud in #1913
- correct values in the halo corner of LatLon grid by @weiyuan-jiang in #1911
- Feature/pnorris/#1915 all MAPL orbital parameters now encapsulated in Sun_Mod in MAPL_sun_uc.F90 by @dr0cloud in #1920
- Fixes #1912. Fixes for ACG Cmake code by @mathomp4 in #1916
- Auto GitFlow - main → develop by @github-actions in #1927
- Fixes #1888. Set regrid_method to identity for native collections by @mathomp4 in #1922
- Auto GitFlow - main → develop by @github-actions in #1936
- Refactor MAPL_GetResource by @darianboggs in #1943
- fixes #1941 by @bena-nasa in #1947
- Update build like UFS CI test by @mathomp4 in #1950
- Bugfix/wdboggs/fix refactor error by @darianboggs in #1962
- Auto GitFlow - main → develop by @github-actions in #1965
- test optional argument arrdes before using it by @weiyuan-jiang in #1940
- Feature/wjiang/large output by @weiyuan-jiang in #1944
- Fixes #1952. Remove _VERIFY from History GC by @mathomp4 in #1953
- Create MAPL.profiler logger by @mathomp4 in #1938
- Bump devops-infra/action-pull-request from 0.5.3 to 0.5.5 by @dependabot in #1971
- Auto GitFlow - main → develop by @github-actions in #1974
- Add shavemantissa f2py code by @mathomp4 in #1945
- Add new routine to spherical geometry package by @bena-nasa in #1984
- add variable through file formatter by @weiyuan-jiang in #1978
- fixed and added subroutines to read and write char type in Netcdf file by @weiyuan-jiang in #1986
- Let users specify the grid type by @weiyuan-jiang in #1989
- Prepare for 2.35.0 Release by @mathomp4 in #1992
- GitFlow: Merge Develop into main for 2.35 release by @mathomp4 in #1996
New Contributors
- @adarmenov made their first contribution in #1900
Full Changelog: v2.34.3...v2.35.0