Skip to content

Use nuopc labels in fv3cap. Refactor ModelAdvance in fv3cap.#330

Merged
DusanJovic-NOAA merged 17 commits into
NOAA-EMC:developfrom
DusanJovic-NOAA:fv3cap_nuopc_labels
Jul 16, 2021
Merged

Use nuopc labels in fv3cap. Refactor ModelAdvance in fv3cap.#330
DusanJovic-NOAA merged 17 commits into
NOAA-EMC:developfrom
DusanJovic-NOAA:fv3cap_nuopc_labels

Conversation

@DusanJovic-NOAA
Copy link
Copy Markdown
Collaborator

Description

  • Use NUOPC semantic labels in fv3cap.
  • Refactor ModelAdvance to call Model_Advance_phase1/2
  • Remove ESMF_VERSION_MAJOR ifdef test. fv3atm now requires ESMF v8+

Testing

Regression tests done on Hera (INtel and GNU)

Dependencies

Do PRs in upstream repositories need to be merged first?
If so add the "waiting for other repos" label and list the upstream PRs

NOAA-GFDL/GFDL_atmos_cubed_sphere#113

Comment thread fv3_cap.F90
@DeniseWorthen
Copy link
Copy Markdown
Collaborator

Could we add this change to module_fcst_grid_comp.F90, which removes the requirement to have an empty data_table in the run directory. I've tested with control and 2 coupled configurations (one using data_override to apply runoff, one w/o) and all baselines pass.

diff --git a/module_fcst_grid_comp.F90 b/module_fcst_grid_comp.F90
index 618e86f..f9831b2 100644
--- a/module_fcst_grid_comp.F90
+++ b/module_fcst_grid_comp.F90
@@ -210,7 +210,7 @@ if (rc /= ESMF_SUCCESS) write(0,*) 'rc=',rc,__FILE__,__LINE__; if(ESMF_LogFoundE
     integer :: jsc, jec, isc, iec, nlev
     type(domain2D) :: domain
     integer :: n, fcstNpes, tmpvar
-    logical :: single_restart
+    logical :: single_restart, fexist
     integer, allocatable, dimension(:) :: isl, iel, jsl, jel
     integer, allocatable, dimension(:,:,:) :: deBlockList

@@ -404,9 +404,12 @@ if (rc /= ESMF_SUCCESS) write(0,*) 'rc=',rc,__FILE__,__LINE__; if(ESMF_LogFoundE
      call  atmos_model_init (atm_int_state%Atm,  atm_int_state%Time_init, &
                              atm_int_state%Time_atmos, atm_int_state%Time_step_atmos)
 !
-     call data_override_init ( ) ! Atm_domain_in  = Atm%domain, &
-                                 ! Ice_domain_in  = Ice%domain, &
-                                 ! Land_domain_in = Land%domain )
+     inquire(FILE='data_table', EXIST=fexist)
+     if (fexist) then
+       call data_override_init ( ) ! Atm_domain_in  = Atm%domain, &
+                                   ! Ice_domain_in  = Ice%domain, &
+                                   ! Land_domain_in = Land%domain )
+     endif

Comment thread fv3_cap.F90
Comment thread fv3_cap.F90 Outdated
Comment thread fv3_cap.F90
Comment on lines -183 to -185
call NUOPC_CompFilterPhaseMap(gcomp, ESMF_METHOD_INITIALIZE, &
acceptStringList=(/"IPDv01p"/), rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, line=__LINE__, file=__FILE__)) return
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where is this statement going to end up?

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With the NUOPC semantic labels, that statement is no longer needed. No more IPDvXXpYY that the user needs to know about. Hurrah!

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great!

Comment thread fv3_cap.F90
@DusanJovic-NOAA DusanJovic-NOAA merged commit 33c1a9c into NOAA-EMC:develop Jul 16, 2021
@DusanJovic-NOAA DusanJovic-NOAA deleted the fv3cap_nuopc_labels branch July 16, 2021 17:34
bbakernoaa pushed a commit to bbakernoaa/fv3atm that referenced this pull request Oct 20, 2025
…iguous arrays (NOAA-EMC#330)

* Update driver/fvGFS/atmosphere.F90: convert GFS_statein and GFS_stateout DDTs: use contiguous arrays instead of blocked data structures

* Convert GFS_sfcprop DDT to contiguous arrays

* Remove GFS_data=IPD_data from driver/fvGFS/atmosphere.F90

* After update from dev/emc, replace blocked IPD data types with contiguous GFS DDTs

* Rename driver/fvGFS to driver/UFS and update CMakeLists.txt, docs/Doxyfile, driver/UFS/atmosphere.F90, model/fv_arrays.F90, tools/fv_nudge.F90; also resolve a previous merge conflict that was left in docs/Doxyfile
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants