Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HAFS related moving-nesting, nest coupling, and movable output grid capabilities #501

Merged
merged 332 commits into from
Apr 11, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
332 commits
Select commit Hold shift + click to select a range
dcc57dc
Update .gitmodules and submodule pointer for ccpp-physics for code re…
climbfuji May 14, 2020
0f99e0a
Merge branch 'support/HAFS' of https://github.com/hafs-community/fv3a…
climbfuji May 14, 2020
8be9fec
Merge branch 'dtc_hwrf_physics' of https://github.com/mzhangw/fv3atm …
climbfuji May 14, 2020
418412f
Update submodule pointer for ccpp/physics
climbfuji May 15, 2020
065539c
Revert change to .gitmodules and update submodule pointer for ccpp-ph…
climbfuji May 20, 2020
db7ac62
Merge pull request #50 from climbfuji/update_dtc_hwrf_physics_from_ha…
climbfuji May 20, 2020
f778751
Merge branch 'dtc/hwrf-physics' into hwrf_sfc_PR
grantfirl May 28, 2020
eab67f5
Update .gitmodules and submodule pointer for code review and testing
climbfuji May 28, 2020
850ce5c
Merge pull request #1 from climbfuji/hwrf_sfc_PR_dom_for_grant
grantfirl May 28, 2020
89566cb
update submodule pointer for ccpp/physics
grantfirl May 28, 2020
2791a63
update submodule pointer for ccpp/physics and revert changes to .gitm…
grantfirl May 29, 2020
a261378
Merge pull request #49 from grantfirl/hwrf_sfc_PR
grantfirl May 29, 2020
d589a5d
Add a new ccpp suite of suite_HAFS_v0_gfdlmp_nocpugwd.xml.
BinLiu-NOAA May 30, 2020
79a6e99
Merge remote-tracking branch 'remotes/origin/support/HAFS' into featu…
BinLiu-NOAA Jun 4, 2020
908c7d6
Merge remote-tracking branch 'remotes/upstream/develop' into support/…
BinLiu-NOAA Jun 6, 2020
f9c3eaa
Merge NUOPC sst import with internal sfcprop%tsfc if cell contains
danrosen25 Jun 11, 2020
f96d5fc
Merge remote-tracking branch 'remotes/origin/support/HAFS' into featu…
BinLiu-NOAA Jun 11, 2020
c24b277
Merge branch 'support/HAFS' of https://github.com/hafs-community/fv3a…
climbfuji Jun 18, 2020
be66b10
Update .gitmodules and submodule pointers for GFDL_atmos_cubed_sphere…
climbfuji Jun 18, 2020
7a1c983
modify HWRF_nogwdps as HWRF physics test
mzhangw Jun 18, 2020
62fcad9
Merge branch 'nogwdps_sdf' of https://github.com/mzhangw/fv3atm into …
climbfuji Jun 18, 2020
7b95cd5
Correct CCPP version number in HWRF SDFs
climbfuji Jun 18, 2020
b2a2976
Revert change to .gitmodules and update submodule pointer for ccpp-ph…
climbfuji Jun 19, 2020
156d0e6
Merge pull request #54 from climbfuji/update_dtc-hwrf-physics_from_ha…
climbfuji Jun 19, 2020
6c42a05
Update .gitmodules and submodule pointer for ccpp-physics for code re…
climbfuji Jun 19, 2020
73cd6b5
Update the ccpp/physics sumodule to point to the feature/hwrf_physics…
BinLiu-NOAA Jun 21, 2020
7408974
Add a new SDF suite_HAFS_v0_gfdlmp_nocpnsst.xml by turning off nsst.
BinLiu-NOAA Jun 22, 2020
a690691
Add the sfc_ocean item in suite_HAFS_v0_gfdlmp_nocpnsst.xml.
BinLiu-NOAA Jun 23, 2020
f294276
Rename or clean up some HAFS related ccpp suite definition files.
BinLiu-NOAA Jun 24, 2020
bc61cc5
Merge pull request #3 from hafs-community/feature/merge_hwrf_physics
climbfuji Jun 25, 2020
6059a09
Update .gitmodules and submodule pointer for ccpp-physics for code re…
climbfuji Jun 25, 2020
d90a13e
Remove suite_FV3_HAFS_FA_HWRF_RRTMG.xml
climbfuji Jun 25, 2020
6815e21
Revert change to .gitmodules and update submodule pointer for ccpp-ph…
climbfuji Jun 26, 2020
1d8963e
Merge pull request #5 from climbfuji/update_hafs_from_dtc_hwrf_physic…
climbfuji Jun 26, 2020
aea6c89
Merge remote-tracking branch 'remotes/upstream/develop' into support/…
BinLiu-NOAA Jul 2, 2020
8645bdc
Following the changes in other SDFs, move GFS_DCNV_generic_pre to the…
BinLiu-NOAA Jul 3, 2020
e5e3db5
Merge remote-tracking branch 'remotes/origin/support/HAFS' into featu…
BinLiu-NOAA Jul 4, 2020
8427f29
Merge remote-tracking branch 'remotes/upstream/develop' into feature/…
BinLiu-NOAA Jul 8, 2020
60879e1
Update submodule ccpp/physics
BinLiu-NOAA Jul 8, 2020
5a2fa08
Update submodule ccpp/physics
BinLiu-NOAA Jul 9, 2020
1695a95
Merge remote-tracking branch 'remotes/origin/feature/sync_develop_202…
BinLiu-NOAA Jul 11, 2020
780d895
Update submodule atmos_cubed_sphere.
BinLiu-NOAA Jul 11, 2020
5a831d3
Udpate the atmos_cubed_sphere submodule to point to the support/HAFS …
BinLiu-NOAA Jul 12, 2020
887cec7
Merge remote-tracking branch 'remotes/upstream/develop' into feature/…
BinLiu-NOAA Jul 16, 2020
f28a3c8
Update ccpp/physics.
BinLiu-NOAA Jul 17, 2020
a696864
Merge remote-tracking branch 'remotes/origin/feature/sync_develop_202…
BinLiu-NOAA Jul 17, 2020
aecac40
Merge remote-tracking branch 'remotes/upstream/develop' into support/…
BinLiu-NOAA Nov 25, 2020
4285d43
Merge remote-tracking branch 'remotes/upstream/develop' into support/…
BinLiu-NOAA Nov 25, 2020
54c54ca
Merge branch 'support/HAFS' of https://github.com/hafs-community/fv3a…
BinLiu-NOAA Nov 25, 2020
028c8c9
Merge remote-tracking branch 'remotes/upstream/develop' into support/…
BinLiu-NOAA Dec 12, 2020
96f4d9f
Add a new HAFS suite: suite_HAFS_v0_gfdlmp_nonsstugwd.xml, turning on…
BinLiu-NOAA Dec 12, 2020
784dd80
Merge remote-tracking branch 'remotes/upstream/develop' into support/…
BinLiu-NOAA Jan 7, 2021
fc64b30
Add corners to regional grid with gridAlign -1,-1. Add write_grid_netcdf
danrosen25 Jan 11, 2021
244eb4b
Merge remote-tracking branch 'remotes/upstream/develop' into support/…
BinLiu-NOAA Jan 21, 2021
afc7f3f
Initial Moving Nest Functionality
wramstrom Jan 22, 2021
2a05521
Merge branch 'support/HAFS' into feature/hafs_moving_nest
BinLiu-NOAA Jan 22, 2021
27ad030
Add a new ccpp SDF: suite_HAFS_v0_gfdlmp_nonsst.xml
BinLiu-NOAA Jan 28, 2021
58ff7c8
Merge remote-tracking branch 'remotes/upstream/develop' into support/…
BinLiu-NOAA Feb 2, 2021
cf4eb10
Update submodule atmos_cubed_sphere
BinLiu-NOAA Feb 6, 2021
0728774
Merge branch 'support/HAFS' into feature/hafs_moving_nest
BinLiu-NOAA Feb 10, 2021
f5924a0
Merge remote-tracking branch 'remotes/upstream/develop' into support/…
BinLiu-NOAA Mar 12, 2021
6472103
Merge remote-tracking branch 'remotes/upstream/develop' into support/…
BinLiu-NOAA Mar 31, 2021
0ce12e8
Merge remote-tracking branch 'remotes/upstream/develop' into support/…
BinLiu-NOAA Apr 1, 2021
c6a610c
Add a new PBL diagnostic variable dkudiagnostic: atmosphere momentum …
BinLiu-NOAA Apr 2, 2021
637e7ed
Update submodule ccpp/physics.
BinLiu-NOAA Apr 2, 2021
06da6e0
Merge branch 'support/HAFS' into feature/hafs_moving_nest
BinLiu-NOAA Apr 5, 2021
8aea726
Update submodule atmos_cubed_sphere.
BinLiu-NOAA Apr 6, 2021
341dabd
Add two ccpp suites: HAFS_v0_gfdlmp_tedmf_nonsst and HAFS_v0_gfdlmp_t…
BinLiu-NOAA Apr 8, 2021
dfff602
Update submodule ccpp/physics.
BinLiu-NOAA Apr 8, 2021
2dbd5bb
Update module_fcst_grid_comp.F90 from Rusty Benson to fix the warning…
BinLiu-NOAA Apr 12, 2021
bcfc4d5
Merge remote-tracking branch 'origin/feature/multi_nests' into featur…
BinLiu-NOAA Apr 12, 2021
6ffe8fb
Merge remote-tracking branch 'upstream/develop' into support/HAFS
BinLiu-NOAA Apr 16, 2021
7fd1aa2
Merge remote-tracking branch 'remotes/upstream/develop' into feature/…
BinLiu-NOAA Apr 16, 2021
eb44bb8
Rename dkudiagnostic into dku and add dkt as a diagnostic variable.
BinLiu-NOAA Apr 16, 2021
e885b04
Merge branch 'feature/dkudiagnostic' into support/HAFS
BinLiu-NOAA Apr 16, 2021
62a9896
Update submodule ccpp/physics.
BinLiu-NOAA Apr 16, 2021
2a9e7b6
Merge branch 'feature/dkudiagnostic' into support/HAFS
BinLiu-NOAA Apr 16, 2021
74d92d4
Use unique standard_name for the new added dkt and dku diagnostic var…
BinLiu-NOAA Apr 16, 2021
d330fa5
Merge remote-tracking branch 'remotes/origin/feature/dkudiagnostic' i…
BinLiu-NOAA Apr 16, 2021
bd7ee9f
Merge remote-tracking branch 'remotes/origin/feature/hafsv0.2_phase2'…
BinLiu-NOAA Apr 16, 2021
9eeb317
Point to support/HAFS branch of hafs-community fork of GFDL_atmos_cub…
BinLiu-NOAA Apr 17, 2021
3e4d4d8
Update submodule atmos_cubed_sphere.
BinLiu-NOAA Apr 17, 2021
53cea9b
*Unify the usage of Diag%dkt and Interstitial%dkt and change the stan…
BinLiu-NOAA Apr 20, 2021
b4956c0
Merge remote-tracking branch 'remotes/origin/feature/dkudiagnostic' i…
BinLiu-NOAA Apr 20, 2021
2c81cfd
Change to allocate Diag%dkt/dku with Model%levs-1 vertical levels in …
BinLiu-NOAA Apr 20, 2021
386a82a
Merge remote-tracking branch 'remotes/origin/feature/dkudiagnostic' i…
BinLiu-NOAA Apr 20, 2021
2ad312a
Merge remote-tracking branch 'remotes/upstream/develop' into support/…
BinLiu-NOAA May 12, 2021
c5697d8
Add a cplice namelist option to deal with the situation that HAFS FV3…
BinLiu-NOAA May 19, 2021
f50ad24
fix for wave coupling with cmeps
May 20, 2021
80f074b
revert mods in cap and move it to ccpp level for now
May 21, 2021
3fd125e
add white space again
May 26, 2021
66e32d7
Convert the parameter variables rlmx and elmx (maximum allowed mixing…
BinLiu-NOAA May 26, 2021
9f68d1b
Merge remote-tracking branch 'remotes/origin/support/HAFS' into featu…
BinLiu-NOAA May 27, 2021
49f8055
Added call to perform moving nest at higher level, to allow access to…
wramstrom May 28, 2021
994ada2
*Update the interface and location to call the udpate_moving_nest.
BinLiu-NOAA Jun 2, 2021
cec6b19
Enable MOVING_NEST flag for this level of the build. Correct module …
wramstrom Jun 9, 2021
6326e98
Added call for debugging output of moving nest variables to netCDF fi…
wramstrom Jun 10, 2021
0294387
*FV3 level changes needed for WeiguoWang-NOAA's modification of near-…
BinLiu-NOAA Jun 15, 2021
b689f22
Merge remote-tracking branch 'remotes/origin/support/HAFS' into featu…
BinLiu-NOAA Jun 21, 2021
40af71f
Make GFS_init() public so that moving nest code can reset lat/lon val…
wramstrom Jun 30, 2021
f0e1722
Merge remote-tracking branch 'remotes/upstream/develop' into feature/…
BinLiu-NOAA Jul 9, 2021
b043f35
Merge remote-tracking branch 'upstream/develop' into feature/hafs_syn…
BinLiu-NOAA Jul 13, 2021
40232c1
Merge remote-tracking branch 'remotes/origin/support/HAFS' into featu…
BinLiu-NOAA Jul 14, 2021
461e0cb
Merge remote-tracking branch 'remotes/upstream/develop' into feature/…
BinLiu-NOAA Jul 16, 2021
f563c14
Clean up and rename some HAFS related CCPP suites.
BinLiu-NOAA Jul 16, 2021
cb53933
Merge remote-tracking branch 'upstream/develop' into feature/hafs_syn…
BinLiu-NOAA Jul 17, 2021
89060e7
Merge remote-tracking branch 'remotes/origin/support/HAFS' into featu…
BinLiu-NOAA Jul 17, 2021
91535c6
Merge remote-tracking branch 'remotes/origin/support/HAFS' into featu…
BinLiu-NOAA Jul 19, 2021
8c81bcb
Merge remote-tracking branch 'remotes/upstream/develop' into support/…
BinLiu-NOAA Jul 25, 2021
85225fd
Merge remote-tracking branch 'remotes/upstream/develop' into feature/…
BinLiu-NOAA Jul 30, 2021
6ac48b1
Update HAFS FV3 PR355 with change requests
danrosen25 Jul 31, 2021
b8e7326
Update submodule GFDL_atmos_cubed_sphere.
BinLiu-NOAA Aug 1, 2021
d51b3fd
Update submodule ccpp/physics.
BinLiu-NOAA Aug 5, 2021
be03150
Merge remote-tracking branch 'remotes/upstream/develop' into support/…
BinLiu-NOAA Aug 5, 2021
08f3760
Update .gitmodules and submodule atmos_cubed_sphere.
BinLiu-NOAA Aug 5, 2021
98cdee3
Update .gitmodules.
BinLiu-NOAA Aug 5, 2021
5e6c519
Add the cplocn2atm namelist option to turn on/off ocean feedback to F…
BinLiu-NOAA Aug 23, 2021
1b61305
*Add atmos_cubed_sphere/model/fv_tracker.F90 in CMakeLists.txt
BinLiu-NOAA Aug 27, 2021
f65b949
Update submodule atmos_cubed_sphere.
BinLiu-NOAA Aug 27, 2021
5bfe0a7
Merge remote-tracking branch 'remotes/origin/feature/hafs_moving_nest…
BinLiu-NOAA Aug 28, 2021
91d0b2d
Update submodule atmos_cubed_sphere and now feature/hafs_vortex_track…
BinLiu-NOAA Aug 28, 2021
7c0c559
Update submodule atmos_cubed_sphere.
BinLiu-NOAA Aug 31, 2021
0605831
Update submodule atmos_cubed_sphere.
BinLiu-NOAA Sep 10, 2021
55ccebf
Merge remote-tracking branch 'remotes/upstream/develop' into support/…
BinLiu-NOAA Sep 10, 2021
c1d002d
Update submodule atmos_cubed_sphere.
BinLiu-NOAA Sep 17, 2021
0ddb726
Update submodule atmos_cubed_sphere.
BinLiu-NOAA Sep 17, 2021
be8c547
Update .gitmodules
DusanJovic-NOAA Sep 30, 2021
ff2eebf
Update submodule atmos_cubed_sphere.
BinLiu-NOAA Sep 30, 2021
40a91e4
Create multiple fcstGrid objects, one for each fv3 grid
DusanJovic-NOAA Sep 30, 2021
39fb691
Use pelist(1) as rootPet when broadcasting from top-level-domain
DusanJovic-NOAA Sep 30, 2021
b375c6d
Moved moving nest physics routines into separate file. Combined movi…
wramstrom Sep 30, 2021
7401bd7
Update submodule atmos_cubed_sphere.
BinLiu-NOAA Oct 1, 2021
c250b6b
Merge remote-tracking branch 'remotes/origin/support/HAFS' into featu…
BinLiu-NOAA Oct 1, 2021
1365028
Merge remote-tracking branch 'remotes/upstream/develop' into feature/…
BinLiu-NOAA Oct 1, 2021
f502442
Add module use line for mpp_set_current_pelist in module_fcst_grid_co…
BinLiu-NOAA Oct 6, 2021
db8a31f
Enable 64 bit compiles
wramstrom Oct 12, 2021
e1714a1
Additional changes to permit 32bit/64bit compiles.
wramstrom Oct 12, 2021
623f1ed
Adapted moving nest code to handle new UFS weather model version of a…
wramstrom Oct 26, 2021
8b4bab6
Added t-dependent lon-lat (grid_mlont, grid_mlatt) to fv_diagnostics
Nov 2, 2021
9e8dc84
Merge remote-tracking branch 'remotes/upstream/develop' into support/…
BinLiu-NOAA Nov 2, 2021
2ced96d
Create multiple forecast grids
DusanJovic-NOAA Nov 3, 2021
f8cc939
Merge remote-tracking branch 'upstream/develop' into support/HAFS
BinLiu-NOAA Nov 4, 2021
79e2398
Added moving nest functionality for neststruct%i/j stagger.
wramstrom Nov 17, 2021
db8eec6
Merge remote-tracking branch 'remotes/origin/support/HAFS' into featu…
BinLiu-NOAA Nov 19, 2021
a38430e
Merge remote-tracking branch 'remotes/upstream/develop' into feature/…
BinLiu-NOAA Nov 20, 2021
fca420d
Added preliminary land masked interpolation for moving nest.
wramstrom Dec 3, 2021
30fca27
update submodule atmos_cubed_sphere.
Dec 14, 2021
a86f5af
Regional Moving Nest Enabled. Fixed moving nest for land emissivity a…
wramstrom Dec 14, 2021
e087c33
Merge commit '4545b4dfa0d20ce7106881b3d93d6e74b5e7b006' into feature/…
BinLiu-NOAA Dec 15, 2021
a90bb4c
Moving Nest updates for emis_lnd and emis_wat.
wramstrom Dec 17, 2021
6c5c400
Merge remote-tracking branch 'origin/develop' into multiple_output_grids
DusanJovic-NOAA Jan 4, 2022
43296fc
Update submodule atmos_cubed_sphere.
BinLiu-NOAA Jan 5, 2022
e7f5b0d
Update after merge
DusanJovic-NOAA Jan 5, 2022
ca34e3c
Add missing error handling.
theurich Jan 5, 2022
1e565cd
No memory profiling by default (reduce log volume). Re-enable the Gri…
theurich Jan 27, 2022
a765bad
Merge remote-tracking branch 'origin/develop' into multiple_output_grids
DusanJovic-NOAA Jan 27, 2022
5c48410
Add support for multiple output grids
DusanJovic-NOAA Jan 27, 2022
8d5ae56
Make app_domain an array (one element per output grid). Code cleanup.
DusanJovic-NOAA Jan 28, 2022
ace5421
Remove some unused variables
DusanJovic-NOAA Jan 28, 2022
ad05ce4
Remove 'app_domain' config parameter
DusanJovic-NOAA Jan 29, 2022
b247b27
Merge commit 'a9e79095120c90ea753d070d5d83dd01ac9464d4' into feature/…
BinLiu-NOAA Jan 29, 2022
c606e96
Added patch for nest motion of surface emissivity and albedo.
wramstrom Jan 30, 2022
caada4a
Adding patch for surface emissivity for moving nest.
wramstrom Jan 30, 2022
c3626a6
Merge branch 'feature/hafs_nesting' of https://github.com/hafs-commun…
BinLiu-NOAA Jan 31, 2022
7d590a2
Update submodule atmos_cubed_sphere.
BinLiu-NOAA Jan 31, 2022
bec4109
Create global fcstGrid by assigning lat/lon coordinates instead of re…
DusanJovic-NOAA Jan 31, 2022
af171b1
Implement unified specification of output grids within model_configur…
theurich Jan 31, 2022
efedd49
Merge remote-tracking branch 'origin/develop' into multiple_output_grids
DusanJovic-NOAA Feb 2, 2022
aa0d219
Merge remote-tracking branch 'remotes/DJ/multiple_output_grids' into …
BinLiu-NOAA Feb 2, 2022
90e1bbc
Change the name of the nest output files
DusanJovic-NOAA Feb 2, 2022
fb1d9ce
Merge remote-tracking branch 'DJ/multiple_output_grids' into feature/…
BinLiu-NOAA Feb 3, 2022
c1bcb05
Use ESMF_GridCreateNoPeriDim for regional output grids
DusanJovic-NOAA Feb 4, 2022
c72a700
Merge remote-tracking branch 'DJ/multiple_output_grids' into feature/…
BinLiu-NOAA Feb 7, 2022
93d0b6d
Only enter moving nest code for moving nest configurations
wramstrom Feb 7, 2022
7915e29
Only enter moving nest code for moving nest configurations.
wramstrom Feb 7, 2022
273165c
Code cleanup of moving nest modules
wramstrom Feb 8, 2022
eeba660
Use same global attributes for global_latlon and regional_latlon
DusanJovic-NOAA Feb 9, 2022
354df55
Fix coupling pass-thru to fcstComp subdomain
danrosen25 Feb 9, 2022
fc70639
Merge remote-tracking branch 'DJ/multiple_output_grids' into feature/…
BinLiu-NOAA Feb 10, 2022
1660724
Merge remote-tracking branch 'origin/develop' into multiple_output_grids
DusanJovic-NOAA Feb 10, 2022
b0be505
Deallocate lon_start_wrtgrp/lon_end_wrtgrp arrays
DusanJovic-NOAA Feb 10, 2022
4876863
Remove ESMF_VMBarrier from ModelFinalize
DusanJovic-NOAA Feb 10, 2022
e9726e3
Added doxygen comments and regularized indentation.
wramstrom Feb 11, 2022
1cac5da
Added doxygen comments and regularized indentation.
wramstrom Feb 11, 2022
0ac4e69
Nullify local array (pelist) fcst_grid_comp before calling atmos_mode…
DusanJovic-NOAA Feb 11, 2022
dfe3cc5
Update atmos_cubed_sphere
DusanJovic-NOAA Feb 11, 2022
e70ce2b
*Add the capability of downscaling the coupling variables (e.g., SST)…
BinLiu-NOAA Feb 13, 2022
0de0fc8
Merge remote-tracking branch 'remotes/DJ/multiple_output_grids' into …
BinLiu-NOAA Feb 14, 2022
e1a1af2
Connected move_nsst to namelist option.
wramstrom Feb 14, 2022
c2a8686
Revised namelist options for move_nsst in moving nest.
wramstrom Feb 15, 2022
66183d5
Moving nest for physics ifd only if using NSST.
wramstrom Feb 15, 2022
a8d3fc6
Use moving_nest_parent and is_moving_nest to identify moving nest par…
BinLiu-NOAA Feb 15, 2022
70ba56d
Merge remote-tracking branch 'remotes/upstream/develop' into feature/…
BinLiu-NOAA Feb 15, 2022
f141683
Update submodule atmos_cubed_sphere.
BinLiu-NOAA Feb 16, 2022
917f3f7
Minor correction, clean-up and simplification around domain specific …
BinLiu-NOAA Feb 17, 2022
c7ae545
Update submodule atmos_cubed_sphere.
BinLiu-NOAA Feb 18, 2022
afba6d2
Upgrade to read in monthly high-resolution albedo information for mov…
wramstrom Feb 25, 2022
334d687
Implement moving nest output. For moving domains, the Regrid() is
theurich Feb 26, 2022
6b25edd
Handle moving nest interpolation of sfc roughness variables with land…
wramstrom Feb 28, 2022
4d729c8
Merge remote-tracking branch 'remotes/upstream/develop' into feature/…
BinLiu-NOAA Mar 2, 2022
0de1b25
Merge branch 'feature/hafs_nest_cpl' of https://github.com/hafs-commu…
BinLiu-NOAA Mar 2, 2022
424c5dc
Reapply handling of NSST being turned off for coupled runs.
wramstrom Mar 3, 2022
5577f35
Merge remote-tracking branch 'remotes/origin/feature/hafs_nest_cpl' i…
BinLiu-NOAA Mar 4, 2022
95d2a40
Added Doxygen documentation and code cleanup.
wramstrom Mar 9, 2022
1e172f8
Add zsurf to diag fields for moving nest.
Mar 9, 2022
ead6f09
Add lon_cen and lat_cen (grid center longitude and latitude in radian…
BinLiu-NOAA Mar 10, 2022
a4c1a5b
Updated formatting of header comments.
wramstrom Mar 10, 2022
c257e96
Implement regridmethod specific tracing for moving nest regridding.
theurich Mar 11, 2022
45ce29f
Merge remote-tracking branch 'origin/feature/hafs_nest_cpl_movable_ou…
theurich Mar 11, 2022
a5ae118
Remove MOVING_NEST after #endif. GNU compiler complains about extra t…
BinLiu-NOAA Mar 11, 2022
7b6734b
Implement center coord determination for moving transferred grids.
theurich Mar 11, 2022
4b6ce35
Add 'rotated_latlon_moving' output_grid (#10)
DusanJovic-NOAA Mar 12, 2022
d6808eb
Revert "Add lon_cen and lat_cen (grid center longitude and latitude i…
BinLiu-NOAA Mar 12, 2022
e8ee968
Merge remote-tracking branch 'remotes/origin/feature/hafs_nest_cpl' i…
BinLiu-NOAA Mar 12, 2022
de4f783
Add 'regional_latlon_moving' output_grid type for moving nest.
BinLiu-NOAA Mar 13, 2022
91cef7c
Optimize the code changes related the regional/rotated_latlon_moving …
BinLiu-NOAA Mar 13, 2022
0dd60c9
Cosmetic indentation changes related to writ grid component support f…
BinLiu-NOAA Mar 13, 2022
f062e2a
Update grid specification for rotated_latlon_moving and regional_latl…
DusanJovic-NOAA Mar 14, 2022
fb0dcf9
Fix the indentation of this lonPtr, latPtr line in io/module_wrt_grid…
BinLiu-NOAA Mar 15, 2022
a831ecf
Move cpl_grid_id to FV3 model attributes
danrosen25 Mar 22, 2022
00c9e10
Update Coriolis terms after nest move.
wramstrom Mar 22, 2022
18bd58d
Moving nest coriolis terms.
wramstrom Mar 22, 2022
3090fb2
Merge pull request #12 from hafs-community/feature/hafs_nest_cpl_fixc…
BinLiu-NOAA Mar 23, 2022
36f6e09
Simplified call to EOSHIFT for compiler portability. Now omits BOUND…
wramstrom Mar 24, 2022
1dd18a5
Merging EOSHIFT update for compiler portability.
wramstrom Mar 24, 2022
e55506f
Merge remote-tracking branch 'remotes/upstream/develop' into feature/…
BinLiu-NOAA Mar 25, 2022
d2298cb
Clean up trailing whitespace and update submodule atmos_cubed_sphere.
BinLiu-NOAA Mar 25, 2022
99fd499
Update submodule atmos_cubed_sphere.
BinLiu-NOAA Mar 26, 2022
3d12e16
Modularization of moving nest and automated storm tracker.
wramstrom Mar 31, 2022
8e4cf1b
Modularization of moving nest and tracker.
wramstrom Mar 31, 2022
dda6a0c
Separate moving_nest code into its own directory.
wramstrom Mar 31, 2022
6dd8c18
Merge remote-tracking branch 'remotes/upstream/develop' into feature/…
BinLiu-NOAA Mar 31, 2022
d242e5f
Update submodule atmos_cubed_sphere.
BinLiu-NOAA Mar 31, 2022
75c31c5
Made call to EOSHIFT portable to gfortran.
wramstrom Mar 31, 2022
15c9954
Removed commented-out code from fv_control.F90.
wramstrom Mar 31, 2022
2e2a946
Revert logging output in fv_diagnostics.F90 to original format.
wramstrom Mar 31, 2022
db91e86
Update submodule atmos_cubed_sphere.
BinLiu-NOAA Apr 1, 2022
a7ec04f
Remove moving nest debugging statements from dycore core.
wramstrom Apr 1, 2022
0cec44d
Revert back to the original forecast grid definition using the ESMF c…
BinLiu-NOAA Apr 4, 2022
e9c51cf
Merge remote-tracking branch 'upstream/develop' into feature/hafs_nes…
BinLiu-NOAA Apr 4, 2022
7522859
Typo fix to correctly add @junwang-noaa's fix.
BinLiu-NOAA Apr 4, 2022
bcdf51f
Update module_fcst_grid_comp.F90 to restore the support for moving-ne…
BinLiu-NOAA Apr 5, 2022
fd64c2d
Moving nest bug fix for nest edge on prime meridian.
wramstrom Apr 6, 2022
a2010f8
Allocate lon_bnd, lat_bnd arrays to be the same size as coordinate di…
DusanJovic-NOAA Apr 6, 2022
f4056a4
Fix typos in comments
DusanJovic-NOAA Apr 7, 2022
df279b6
Ensure printing out the "PASS: fcstRUN phase ..." in the same line, s…
BinLiu-NOAA Apr 8, 2022
f420038
Merge remote-tracking branch 'remotes/upstream/develop' into feature/…
BinLiu-NOAA Apr 8, 2022
e9867cf
Indentation fix in fv3_cap.F90.
BinLiu-NOAA Apr 8, 2022
3368ef5
Ensure printing out the "PASS: fcstRUN phase ..." in the same line, s…
BinLiu-NOAA Apr 8, 2022
bf980f9
Update submodule atmos_cubed_sphere.
BinLiu-NOAA Apr 11, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ set(use_WRTCOMP ON)
set(GFS_PHYS ON)
set(GFS_TYPES ON)
set(USE_GFSL63 ON)
if(MOVING_NEST)
set(MOVING_NEST ON)
endif()
add_subdirectory(atmos_cubed_sphere)

###############################################################################
Expand All @@ -32,6 +35,10 @@ if(NOT PARALLEL_NETCDF)
list(APPEND _fv3atm_defs_private NO_PARALLEL_NETCDF)
endif()

if(MOVING_NEST)
list(APPEND _fv3atm_defs_private MOVING_NEST)
endif()

add_library(fv3atm
atmos_model.F90
fv3_cap.F90
Expand Down
104 changes: 79 additions & 25 deletions atmos_model.F90
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ module atmos_model_mod
use atmosphere_mod, only: atmosphere_restart
use atmosphere_mod, only: atmosphere_end
use atmosphere_mod, only: atmosphere_state_update
use atmosphere_mod, only: atmosphere_fill_nest_cpl
use atmosphere_mod, only: atmos_phys_driver_statein
use atmosphere_mod, only: atmosphere_control_data
use atmosphere_mod, only: atmosphere_resolution, atmosphere_domain
Expand Down Expand Up @@ -101,6 +102,9 @@ module atmos_model_mod
block_data_copy_or_fill, &
block_data_combine_fractions

#ifdef MOVING_NEST
use fv_moving_nest_main_mod, only: update_moving_nest, dump_moving_nest
#endif
!-----------------------------------------------------------------------

implicit none
Expand All @@ -126,14 +130,16 @@ module atmos_model_mod
integer :: layout(2) ! computer task laytout
logical :: regional ! true if domain is regional
logical :: nested ! true if there is a nest
logical :: moving_nest_parent ! true if this grid has a moving nest child
logical :: is_moving_nest ! true if this is a moving nest grid
integer :: ngrids !
integer :: mygrid !
integer :: mlon, mlat
integer :: iau_offset ! iau running window length
logical :: pe ! current pe.
real(kind=8), pointer, dimension(:) :: ak, bk
real, pointer, dimension(:,:) :: lon_bnd => null() ! local longitude axis grid box corners in radians.
real, pointer, dimension(:,:) :: lat_bnd => null() ! local latitude axis grid box corners in radians.
real(kind=GFS_kind_phys), pointer, dimension(:,:) :: lon_bnd => null() ! local longitude axis grid box corners in radians.
real(kind=GFS_kind_phys), pointer, dimension(:,:) :: lat_bnd => null() ! local latitude axis grid box corners in radians.
real(kind=GFS_kind_phys), pointer, dimension(:,:) :: lon => null() ! local longitude axis grid box centers in radians.
real(kind=GFS_kind_phys), pointer, dimension(:,:) :: lat => null() ! local latitude axis grid box centers in radians.
real(kind=GFS_kind_phys), pointer, dimension(:,:) :: dx, dy
Expand All @@ -149,6 +155,14 @@ module atmos_model_mod
! to calculate gradient on cubic sphere grid.
!</PUBLICTYPE >

! these two arrays, lon_bnd_work and lat_bnd_work are 'working' arrays, always allocated
! as (nlon+1, nlat+1) and are used to get the corner lat/lon values from the dycore.
! these values are then copied to Atmos%lon_bnd, Atmos%lat_bnd which are allocated with
! sizes that correspond to the corner coordinates distgrid in fcstGrid
real(kind=GFS_kind_phys), pointer, dimension(:,:), save :: lon_bnd_work => null()
real(kind=GFS_kind_phys), pointer, dimension(:,:), save :: lat_bnd_work => null()
integer, save :: i_bnd_size, j_bnd_size

integer :: fv3Clock, getClock, updClock, setupClock, radClock, physClock

!-----------------------------------------------------------------------
Expand Down Expand Up @@ -274,6 +288,17 @@ subroutine update_atmos_radiation_physics (Atmos)
call assign_importdata(jdat(:),rc)
if (rc/=0) call mpp_error(FATAL, 'Call to assign_importdata failed')

! Currently for FV3ATM, it is only enabled for parent domain coupling
! with other model components. In this case, only the parent domain
! receives coupled fields through the above assign_importdata step. Thus,
! an extra step is needed to fill the coupling variables in the nest,
! by downscaling the coupling variables from its parent.
if (Atmos%ngrids > 1) then
if (GFS_control%cplocn2atm .or. GFS_control%cplwav2atm) then
call atmosphere_fill_nest_cpl(Atm_block, GFS_control, GFS_data)
endif
endif

! Calculate total non-physics tendencies by substracting old GFS Stateout
! variables from new/updated GFS Statein variables (gives the tendencies
! due to anything else than physics)
Expand Down Expand Up @@ -528,12 +553,35 @@ subroutine atmos_model_init (Atmos, Time_init, Time, Time_step)
!-----------------------------------------------------------------------
call atmosphere_resolution (nlon, nlat, global=.false.)
call atmosphere_resolution (mlon, mlat, global=.true.)
call alloc_atmos_data_type (nlon, nlat, Atmos)
call atmosphere_domain (Atmos%domain, Atmos%layout, Atmos%regional, Atmos%nested, Atmos%ngrids, Atmos%mygrid, Atmos%pelist)
call atmosphere_domain (Atmos%domain, Atmos%layout, Atmos%regional, Atmos%nested, &
Atmos%moving_nest_parent, Atmos%is_moving_nest, &
Atmos%ngrids, Atmos%mygrid, Atmos%pelist)
call atmosphere_diag_axes (Atmos%axes)
call atmosphere_etalvls (Atmos%ak, Atmos%bk, flip=flip_vc)
call atmosphere_grid_bdry (Atmos%lon_bnd, Atmos%lat_bnd, global=.false.)

call atmosphere_control_data (isc, iec, jsc, jec, nlev, p_hydro, hydro, tile_num)

allocate (Atmos%lon(nlon,nlat), Atmos%lat(nlon,nlat))
call atmosphere_grid_ctr (Atmos%lon, Atmos%lat)

i_bnd_size = nlon
j_bnd_size = nlat
if (iec == mlon) then
! we are on task at the 'east' edge of the cubed sphere face or regional domain
! corner arrays should have one extra element in 'i' direction
i_bnd_size = nlon + 1
end if
if (jec == mlat) then
! we are on task at the 'north' edge of the cubed sphere face or regional domain
! corner arrays should have one extra element in 'j' direction
j_bnd_size = nlat + 1
end if
allocate (Atmos%lon_bnd(i_bnd_size,j_bnd_size), Atmos%lat_bnd(i_bnd_size,j_bnd_size))
allocate (lon_bnd_work(nlon+1,nlat+1), lat_bnd_work(nlon+1,nlat+1))
call atmosphere_grid_bdry (lon_bnd_work, lat_bnd_work)
Atmos%lon_bnd(1:i_bnd_size,1:j_bnd_size) = lon_bnd_work(1:i_bnd_size,1:j_bnd_size)
Atmos%lat_bnd(1:i_bnd_size,1:j_bnd_size) = lat_bnd_work(1:i_bnd_size,1:j_bnd_size)

call atmosphere_hgt (Atmos%layer_hgt, 'layer', relative=.false., flip=flip_vc)
call atmosphere_hgt (Atmos%level_hgt, 'level', relative=.false., flip=flip_vc)

Expand All @@ -551,7 +599,6 @@ subroutine atmos_model_init (Atmos, Time_init, Time, Time_step)
!-----------------------------------------------------------------------
!--- before going any further check definitions for 'blocks'
!-----------------------------------------------------------------------
call atmosphere_control_data (isc, iec, jsc, jec, nlev, p_hydro, hydro, tile_num)
call define_blocks_packed ('atmos_model', Atm_block, isc, iec, jsc, jec, nlev, &
blocksize, block_message)

Expand Down Expand Up @@ -762,8 +809,23 @@ subroutine update_atmos_model_dynamics (Atmos)
type (atmos_data_type), intent(in) :: Atmos

call set_atmosphere_pelist()
#ifdef MOVING_NEST
! W. Ramstrom, AOML/HRD -- May 28, 2021
! Evaluates whether to move nest, then performs move if needed
if (Atmos%moving_nest_parent .or. Atmos%is_moving_nest ) then
call update_moving_nest (Atm_block, GFS_control, GFS_data, Atmos%Time)
endif
#endif
call mpp_clock_begin(fv3Clock)
call atmosphere_dynamics (Atmos%Time)
#ifdef MOVING_NEST
! W. Ramstrom, AOML/HRD -- June 9, 2021
! Debugging output of moving nest code. Called from this level to access needed input variables.
if (Atmos%moving_nest_parent .or. Atmos%is_moving_nest ) then
call dump_moving_nest (Atm_block, GFS_control, GFS_data, Atmos%Time)
endif
#endif

call mpp_clock_end(fv3Clock)

end subroutine update_atmos_model_dynamics
Expand Down Expand Up @@ -920,6 +982,14 @@ subroutine update_atmos_model_state (Atmos, rc)
if (ESMF_LogFoundError(rcToCheck=localrc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, file=__FILE__, rcToReturn=rc)) return

!--- conditionally update the coordinate arrays for moving domains
if (Atmos%is_moving_nest) then
call atmosphere_grid_ctr (Atmos%lon, Atmos%lat)
call atmosphere_grid_bdry (lon_bnd_work, lat_bnd_work, global=.false.)
Atmos%lon_bnd(1:i_bnd_size,1:j_bnd_size) = lon_bnd_work(1:i_bnd_size,1:j_bnd_size)
Atmos%lat_bnd(1:i_bnd_size,1:j_bnd_size) = lat_bnd_work(1:i_bnd_size,1:j_bnd_size)
endif

end subroutine update_atmos_model_state
! </SUBROUTINE>

Expand Down Expand Up @@ -983,7 +1053,9 @@ subroutine atmos_model_end (Atmos)
call CCPP_step (step="finalize", nblks=Atm_block%nblks, ierr=ierr)
if (ierr/=0) call mpp_error(FATAL, 'Call to CCPP finalize step failed')

call dealloc_atmos_data_type (Atmos)
deallocate (Atmos%lon, Atmos%lat)
deallocate (Atmos%lon_bnd, Atmos%lat_bnd)
deallocate (lon_bnd_work, lat_bnd_work)

end subroutine atmos_model_end

Expand Down Expand Up @@ -1681,24 +1753,6 @@ subroutine update_atmos_chemistry(state, rc)
end subroutine update_atmos_chemistry
! </SUBROUTINE>

subroutine alloc_atmos_data_type (nlon, nlat, Atmos)
integer, intent(in) :: nlon, nlat
type(atmos_data_type), intent(inout) :: Atmos
allocate ( Atmos % lon_bnd (nlon+1,nlat+1), &
Atmos % lat_bnd (nlon+1,nlat+1), &
Atmos % lon (nlon,nlat), &
Atmos % lat (nlon,nlat) )

end subroutine alloc_atmos_data_type

subroutine dealloc_atmos_data_type (Atmos)
type(atmos_data_type), intent(inout) :: Atmos
deallocate (Atmos%lon_bnd, &
Atmos%lat_bnd, &
Atmos%lon, &
Atmos%lat )
end subroutine dealloc_atmos_data_type

subroutine assign_importdata(jdat, rc)

use module_cplfields, only: importFields, nImportFields, queryImportFields, &
Expand Down
1 change: 1 addition & 0 deletions ccpp/driver/GFS_init.F90
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ module GFS_init
! Public entities
!----------------
public GFS_initialize !< GFS initialization routine
public GFS_grid_populate !< Lat/lon/area setting -- exposed for moving nest

CONTAINS
!*******************************************************************************************
Expand Down
34 changes: 18 additions & 16 deletions cpl/module_cap_cpl.F90
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ subroutine state_diagnose(State,string, rc)
type(ESMF_StateItem_Flag) :: itemType
real(ESMF_KIND_R8), pointer :: dataPtr2d(:,:)
real(ESMF_KIND_R8), pointer :: dataPtr3d(:,:,:)
integer :: lrc, dimCount
integer :: lrc, localDeCount, dimCount
character(len=*),parameter :: subname='(FV3: state_diagnose)'

lstring = ''
Expand All @@ -211,23 +211,25 @@ subroutine state_diagnose(State,string, rc)
call ESMF_StateGet(State, itemName=trim(itemNameList(n)), field=lfield, rc=lrc)
if (ESMF_LogFoundError(rcToCheck=lrc, msg=ESMF_LOGERR_PASSTHRU, line=__LINE__, file=__FILE__)) return

call ESMF_FieldGet(lfield, dimCount=dimcount, rc=lrc)
call ESMF_FieldGet(lfield, localDeCount=localDeCount, dimCount=dimcount, rc=lrc)
if (ESMF_LogFoundError(rcToCheck=lrc, msg=ESMF_LOGERR_PASSTHRU, line=__LINE__, file=__FILE__)) return

if(dimcount == 2)then
call ESMF_FieldGet(lfield, farrayPtr=dataPtr2d, rc=lrc)
if (ESMF_LogFoundError(rcToCheck=lrc, msg=ESMF_LOGERR_PASSTHRU, line=__LINE__, file=__FILE__)) return

write(tmpstr,'(A,3g14.7)') trim(subname)//' '//trim(lstring)//':'//trim(itemNameList(n))//' ', &
minval(dataPtr2d),maxval(dataPtr2d),sum(dataPtr2d)
call ESMF_LogWrite(trim(tmpstr), ESMF_LOGMSG_INFO, rc=lrc)
else
call ESMF_FieldGet(lfield, farrayPtr=dataPtr3d, rc=lrc)
if (ESMF_LogFoundError(rcToCheck=lrc, msg=ESMF_LOGERR_PASSTHRU, line=__LINE__, file=__FILE__)) return

write(tmpstr,'(A,3g14.7)') trim(subname)//' '//trim(lstring)//':'//trim(itemNameList(n))//' ', &
minval(dataPtr3d),maxval(dataPtr3d),sum(dataPtr3d)
call ESMF_LogWrite(trim(tmpstr), ESMF_LOGMSG_INFO, rc=lrc)
if(localDeCount.gt.0) then
if(dimcount == 2)then
call ESMF_FieldGet(lfield, farrayPtr=dataPtr2d, rc=lrc)
if (ESMF_LogFoundError(rcToCheck=lrc, msg=ESMF_LOGERR_PASSTHRU, line=__LINE__, file=__FILE__)) return

write(tmpstr,'(A,3g14.7)') trim(subname)//' '//trim(lstring)//':'//trim(itemNameList(n))//' ', &
minval(dataPtr2d),maxval(dataPtr2d),sum(dataPtr2d)
call ESMF_LogWrite(trim(tmpstr), ESMF_LOGMSG_INFO, rc=lrc)
else
call ESMF_FieldGet(lfield, farrayPtr=dataPtr3d, rc=lrc)
if (ESMF_LogFoundError(rcToCheck=lrc, msg=ESMF_LOGERR_PASSTHRU, line=__LINE__, file=__FILE__)) return

write(tmpstr,'(A,3g14.7)') trim(subname)//' '//trim(lstring)//':'//trim(itemNameList(n))//' ', &
minval(dataPtr3d),maxval(dataPtr3d),sum(dataPtr3d)
call ESMF_LogWrite(trim(tmpstr), ESMF_LOGMSG_INFO, rc=lrc)
end if
end if
end if
enddo
Expand Down
Loading