diff --git a/atmos_model.F90 b/atmos_model.F90 index 00821d721b..e5eec4ef31 100644 --- a/atmos_model.F90 +++ b/atmos_model.F90 @@ -255,7 +255,7 @@ subroutine update_atmos_radiation_physics (Atmos) jdat(5), jdat(6), jdat(7)) GFS_control%jdat(:) = jdat(:) -!--- execute the IPD atmospheric setup step +!--- execute the atmospheric setup step call mpp_clock_begin(setupClock) call CCPP_step (step="timestep_init", nblks=Atm_block%nblks, ierr=ierr) if (ierr/=0) call mpp_error(FATAL, 'Call to CCPP timestep_init step failed') @@ -279,8 +279,8 @@ subroutine update_atmos_radiation_physics (Atmos) endif - ! Calculate total non-physics tendencies by substracting old IPD Stateout - ! variables from new/updated IPD Statein variables (gives the tendencies + ! 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) if (GFS_control%ldiag3d) then do nb = 1,Atm_block%nblks @@ -305,7 +305,7 @@ subroutine update_atmos_radiation_physics (Atmos) if (mpp_pe() == mpp_root_pe() .and. debug) write(6,*) "radiation driver" -!--- execute the IPD atmospheric radiation subcomponent (RRTM) +!--- execute the atmospheric radiation subcomponent (RRTM) call mpp_clock_begin(radClock) ! Performance improvement. Only enter if it is time to call the radiation physics. @@ -322,7 +322,7 @@ subroutine update_atmos_radiation_physics (Atmos) if (mpp_pe() == mpp_root_pe() .and. debug) write(6,*) "physics driver" -!--- execute the IPD atmospheric physics step1 subcomponent (main physics driver) +!--- execute the atmospheric physics step1 subcomponent (main physics driver) call mpp_clock_begin(physClock) call CCPP_step (step="physics", nblks=Atm_block%nblks, ierr=ierr) @@ -336,7 +336,7 @@ subroutine update_atmos_radiation_physics (Atmos) if (mpp_pe() == mpp_root_pe() .and. debug) write(6,*) "stochastic physics driver" -!--- execute the IPD atmospheric physics step2 subcomponent (stochastic physics driver) +!--- execute the atmospheric physics step2 subcomponent (stochastic physics driver) call mpp_clock_begin(physClock) call CCPP_step (step="stochastics", nblks=Atm_block%nblks, ierr=ierr) @@ -350,7 +350,7 @@ subroutine update_atmos_radiation_physics (Atmos) call getiauforcing(GFS_control,IAU_data) if (mpp_pe() == mpp_root_pe() .and. debug) write(6,*) "end of radiation and physics step" -!--- execute the IPD atmospheric timestep finalize step +!--- execute the atmospheric timestep finalize step call mpp_clock_begin(setupClock) call CCPP_step (step="timestep_finalize", nblks=Atm_block%nblks, ierr=ierr) if (ierr/=0) call mpp_error(FATAL, 'Call to CCPP timestep_finalize step failed') @@ -502,7 +502,7 @@ subroutine atmos_model_init (Atmos, Time_init, Time, Time_step) do i = 1, ntracers call get_tracer_names(MODEL_ATMOS, i, tracer_names(i)) enddo -!--- setup IPD Init_parm +!--- setup Init_parm Init_parm%me = mpp_pe() Init_parm%master = mpp_root_pe() Init_parm%tile_num = tile_num @@ -669,7 +669,7 @@ subroutine atmos_model_init (Atmos, Time_init, Time, Time_step) !if in coupled mode, set up coupled fields if (GFS_control%cplflx .or. GFS_control%cplwav) then - if (mpp_pe() == mpp_root_pe()) print *,'COUPLING: IPD layer' + if (mpp_pe() == mpp_root_pe()) print *,'COUPLING: CCPP layer' call setup_exportdata(ierr) endif @@ -888,7 +888,7 @@ subroutine atmos_model_end (Atmos) call stochastic_physics_wrapper_end(GFS_control) ! Fast physics (from dynamics) are finalized in atmosphere_end above; -! standard/slow physics (from IPD) are finalized in CCPP_step 'finalize'. +! standard/slow physics (from CCPP) are finalized in CCPP_step 'finalize'. ! The CCPP framework for all cdata structures is finalized in CCPP_step 'finalize'. call CCPP_step (step="finalize", nblks=Atm_block%nblks, ierr=ierr) if (ierr/=0) call mpp_error(FATAL, 'Call to CCPP finalize step failed') @@ -1614,10 +1614,10 @@ subroutine assign_importdata(rc) if (GFS_data(nb)%Sfcprop%oceanfrac(ix) > zero .and. datar8(i,j) > zorlmin) then tem = 100.0_GFS_kind_phys * min(0.1_GFS_kind_phys, datar8(i,j)) ! GFS_data(nb)%Coupling%zorlwav_cpl(ix) = tem - GFS_data(nb)%Sfcprop%zorlo(ix) = tem GFS_data(nb)%Sfcprop%zorlw(ix) = tem + GFS_data(nb)%Sfcprop%zorlwav(ix) = tem else - GFS_data(nb)%Sfcprop%zorlw(ix) = -999.0_GFS_kind_phys + GFS_data(nb)%Sfcprop%zorlwav(ix) = -999.0_GFS_kind_phys endif enddo diff --git a/ccpp/data/GFS_typedefs.F90 b/ccpp/data/GFS_typedefs.F90 index 14ff9cc5a4..074a1d0ab1 100644 --- a/ccpp/data/GFS_typedefs.F90 +++ b/ccpp/data/GFS_typedefs.F90 @@ -231,10 +231,10 @@ module GFS_typedefs real (kind=kind_phys), pointer :: tiice(:,:) => null() !< internal ice temperature real (kind=kind_phys), pointer :: snowd (:) => null() !< snow depth water equivalent in mm ; same as snwdph real (kind=kind_phys), pointer :: zorl (:) => null() !< composite surface roughness in cm - real (kind=kind_phys), pointer :: zorlo (:) => null() !< ocean surface roughness in cm + real (kind=kind_phys), pointer :: zorlw (:) => null() !< water surface roughness in cm real (kind=kind_phys), pointer :: zorll (:) => null() !< land surface roughness in cm real (kind=kind_phys), pointer :: zorli (:) => null() !< ice surface roughness in cm - real (kind=kind_phys), pointer :: zorlw (:) => null() !< wave surface roughness in cm + real (kind=kind_phys), pointer :: zorlwav(:) => null() !< wave surface roughness in cm real (kind=kind_phys), pointer :: fice (:) => null() !< ice fraction over open water grid ! real (kind=kind_phys), pointer :: hprim (:) => null() !< topographic standard deviation in m real (kind=kind_phys), pointer :: hprime (:,:) => null() !< orographic metrics @@ -1700,7 +1700,7 @@ module GFS_typedefs real (kind=kind_phys), pointer :: adjsfculw_land(:) => null() !< real (kind=kind_phys), pointer :: adjsfculw_ice(:) => null() !< - real (kind=kind_phys), pointer :: adjsfculw_ocean(:) => null() !< + real (kind=kind_phys), pointer :: adjsfculw_water(:) => null() !< real (kind=kind_phys), pointer :: adjnirbmd(:) => null() !< real (kind=kind_phys), pointer :: adjnirbmu(:) => null() !< real (kind=kind_phys), pointer :: adjnirdfd(:) => null() !< @@ -1717,15 +1717,15 @@ module GFS_typedefs real (kind=kind_phys), pointer :: cd(:) => null() !< real (kind=kind_phys), pointer :: cd_ice(:) => null() !< real (kind=kind_phys), pointer :: cd_land(:) => null() !< - real (kind=kind_phys), pointer :: cd_ocean(:) => null() !< + real (kind=kind_phys), pointer :: cd_water(:) => null() !< real (kind=kind_phys), pointer :: cdq(:) => null() !< real (kind=kind_phys), pointer :: cdq_ice(:) => null() !< real (kind=kind_phys), pointer :: cdq_land(:) => null() !< - real (kind=kind_phys), pointer :: cdq_ocean(:) => null() !< + real (kind=kind_phys), pointer :: cdq_water(:) => null() !< real (kind=kind_phys), pointer :: cf_upi(:,:) => null() !< real (kind=kind_phys), pointer :: chh_ice(:) => null() !< real (kind=kind_phys), pointer :: chh_land(:) => null() !< - real (kind=kind_phys), pointer :: chh_ocean(:) => null() !< + real (kind=kind_phys), pointer :: chh_water(:) => null() !< real (kind=kind_phys), pointer :: chk_land(:) => null() !< real (kind=kind_phys), pointer :: clcn(:,:) => null() !< real (kind=kind_phys), pointer :: cldf(:) => null() !< @@ -1739,7 +1739,7 @@ module GFS_typedefs real (kind=kind_phys), pointer :: cmc(:) => null() !< real (kind=kind_phys), pointer :: cmm_ice(:) => null() !< real (kind=kind_phys), pointer :: cmm_land(:) => null() !< - real (kind=kind_phys), pointer :: cmm_ocean(:) => null() !< + real (kind=kind_phys), pointer :: cmm_water(:) => null() !< real (kind=kind_phys), pointer :: cnv_dqldt(:,:) => null() !< real (kind=kind_phys), pointer :: cnv_fice(:,:) => null() !< real (kind=kind_phys), pointer :: cnv_mfd(:,:) => null() !< @@ -1778,22 +1778,22 @@ module GFS_typedefs real (kind=kind_phys), pointer :: ep1d(:) => null() !< real (kind=kind_phys), pointer :: ep1d_ice(:) => null() !< real (kind=kind_phys), pointer :: ep1d_land(:) => null() !< - real (kind=kind_phys), pointer :: ep1d_ocean(:) => null() !< + real (kind=kind_phys), pointer :: ep1d_water(:) => null() !< real (kind=kind_phys), pointer :: evapq(:) => null() !< real (kind=kind_phys), pointer :: evap_ice(:) => null() !< real (kind=kind_phys), pointer :: evap_land(:) => null() !< - real (kind=kind_phys), pointer :: evap_ocean(:) => null() !< + real (kind=kind_phys), pointer :: evap_water(:) => null() !< real (kind=kind_phys), pointer :: evbs(:) => null() !< real (kind=kind_phys), pointer :: evcw(:) => null() !< real (kind=kind_phys), pointer :: faerlw(:,:,:,:) => null() !< real (kind=kind_phys), pointer :: faersw(:,:,:,:) => null() !< real (kind=kind_phys), pointer :: ffhh_ice(:) => null() !< real (kind=kind_phys), pointer :: ffhh_land(:) => null() !< - real (kind=kind_phys), pointer :: ffhh_ocean(:) => null() !< + real (kind=kind_phys), pointer :: ffhh_water(:) => null() !< real (kind=kind_phys), pointer :: fh2(:) => null() !< real (kind=kind_phys), pointer :: fh2_ice(:) => null() !< real (kind=kind_phys), pointer :: fh2_land(:) => null() !< - real (kind=kind_phys), pointer :: fh2_ocean(:) => null() !< + real (kind=kind_phys), pointer :: fh2_water(:) => null() !< logical, pointer :: flag_cice(:) => null() !< logical, pointer :: flag_guess(:) => null() !< logical, pointer :: flag_iter(:) => null() !< @@ -1801,11 +1801,11 @@ module GFS_typedefs logical, pointer :: flag_lsm_glacier(:)=> null() !< real (kind=kind_phys), pointer :: ffmm_ice(:) => null() !< real (kind=kind_phys), pointer :: ffmm_land(:) => null() !< - real (kind=kind_phys), pointer :: ffmm_ocean(:) => null() !< + real (kind=kind_phys), pointer :: ffmm_water(:) => null() !< real (kind=kind_phys), pointer :: fm10(:) => null() !< real (kind=kind_phys), pointer :: fm10_ice(:) => null() !< real (kind=kind_phys), pointer :: fm10_land(:) => null() !< - real (kind=kind_phys), pointer :: fm10_ocean(:) => null() !< + real (kind=kind_phys), pointer :: fm10_water(:) => null() !< real (kind=kind_phys) :: frain !< real (kind=kind_phys), pointer :: frland(:) => null() !< real (kind=kind_phys), pointer :: fscav(:) => null() !< @@ -1813,7 +1813,7 @@ module GFS_typedefs real (kind=kind_phys), pointer :: gabsbdlw(:) => null() !< real (kind=kind_phys), pointer :: gabsbdlw_ice(:) => null() !< real (kind=kind_phys), pointer :: gabsbdlw_land(:) => null() !< - real (kind=kind_phys), pointer :: gabsbdlw_ocean(:) => null() !< + real (kind=kind_phys), pointer :: gabsbdlw_water(:) => null() !< real (kind=kind_phys), pointer :: gamma(:) => null() !< real (kind=kind_phys), pointer :: gamq(:) => null() !< real (kind=kind_phys), pointer :: gamt(:) => null() !< @@ -1821,7 +1821,7 @@ module GFS_typedefs real (kind=kind_phys), pointer :: gflx(:) => null() !< real (kind=kind_phys), pointer :: gflx_ice(:) => null() !< real (kind=kind_phys), pointer :: gflx_land(:) => null() !< - real (kind=kind_phys), pointer :: gflx_ocean(:) => null() !< + real (kind=kind_phys), pointer :: gflx_water(:) => null() !< real (kind=kind_phys), pointer :: graupelmp(:) => null() !< real (kind=kind_phys), pointer :: gwdcu(:,:) => null() !< real (kind=kind_phys), pointer :: gwdcv(:,:) => null() !< @@ -1830,7 +1830,7 @@ module GFS_typedefs real (kind=kind_phys), pointer :: hflxq(:) => null() !< real (kind=kind_phys), pointer :: hflx_ice(:) => null() !< real (kind=kind_phys), pointer :: hflx_land(:) => null() !< - real (kind=kind_phys), pointer :: hflx_ocean(:) => null() !< + real (kind=kind_phys), pointer :: hflx_water(:) => null() !< !--- radiation variables that need to be carried over from radiation to physics real (kind=kind_phys), pointer :: htlwc(:,:) => null() !< real (kind=kind_phys), pointer :: htlw0(:,:) => null() !< @@ -1902,7 +1902,7 @@ module GFS_typedefs real (kind=kind_phys), pointer :: qsnw(:,:) => null() !< real (kind=kind_phys), pointer :: qss_ice(:) => null() !< real (kind=kind_phys), pointer :: qss_land(:) => null() !< - real (kind=kind_phys), pointer :: qss_ocean(:) => null() !< + real (kind=kind_phys), pointer :: qss_water(:) => null() !< real (kind=kind_phys), pointer :: qs1(:) => null() !< real (kind=kind_phys), pointer :: qv1(:) => null() !< logical :: radar_reset !< @@ -1915,7 +1915,7 @@ module GFS_typedefs real (kind=kind_phys), pointer :: rb(:) => null() !< real (kind=kind_phys), pointer :: rb_ice(:) => null() !< real (kind=kind_phys), pointer :: rb_land(:) => null() !< - real (kind=kind_phys), pointer :: rb_ocean(:) => null() !< + real (kind=kind_phys), pointer :: rb_water(:) => null() !< logical :: reset !< real (kind=kind_phys), pointer :: rhc(:,:) => null() !< real (kind=kind_phys), pointer :: rho1(:) => null() !< @@ -1930,7 +1930,7 @@ module GFS_typedefs type (cmpfsw_type), pointer :: scmpsw(:) => null() !< real (kind=kind_phys), pointer :: semis_ice(:) => null() !< real (kind=kind_phys), pointer :: semis_land(:) => null() !< - real (kind=kind_phys), pointer :: semis_ocean(:) => null() !< + real (kind=kind_phys), pointer :: semis_water(:) => null() !< real (kind=kind_phys), pointer :: sfcalb(:,:) => null() !< real (kind=kind_phys), pointer :: sigma(:) => null() !< real (kind=kind_phys), pointer :: sigmaf(:) => null() !< @@ -1945,7 +1945,7 @@ module GFS_typedefs real (kind=kind_phys), pointer :: snowd_ice(:) => null() !< real (kind=kind_phys), pointer :: snowd_land(:) => null() !< real (kind=kind_phys), pointer :: snowd_land_save(:) => null() !< - real (kind=kind_phys), pointer :: snowd_ocean(:) => null() !< + real (kind=kind_phys), pointer :: snowd_water(:) => null() !< real (kind=kind_phys), pointer :: snow_depth(:) => null() !< real (kind=kind_phys), pointer :: snohf(:) => null() !< real (kind=kind_phys), pointer :: snohf_snow(:) => null() !< @@ -1959,7 +1959,7 @@ module GFS_typedefs real (kind=kind_phys), pointer :: stress(:) => null() !< real (kind=kind_phys), pointer :: stress_ice(:) => null() !< real (kind=kind_phys), pointer :: stress_land(:) => null() !< - real (kind=kind_phys), pointer :: stress_ocean(:) => null() !< + real (kind=kind_phys), pointer :: stress_water(:) => null() !< real (kind=kind_phys), pointer :: t2mmp(:) => null() !< real (kind=kind_phys), pointer :: theta(:) => null() !< real (kind=kind_phys), pointer :: th1(:) => null() !< @@ -1968,7 +1968,7 @@ module GFS_typedefs real (kind=kind_phys), pointer :: tlyr(:,:) => null() !< real (kind=kind_phys), pointer :: tprcp_ice(:) => null() !< real (kind=kind_phys), pointer :: tprcp_land(:) => null() !< - real (kind=kind_phys), pointer :: tprcp_ocean(:) => null() !< + real (kind=kind_phys), pointer :: tprcp_water(:) => null() !< real (kind=kind_phys), pointer :: tprcp_rate_land(:) => null() !< integer :: tracers_start_index !< integer :: tracers_total !< @@ -1980,16 +1980,16 @@ module GFS_typedefs real (kind=kind_phys), pointer :: tsfc_ice(:) => null() !< real (kind=kind_phys), pointer :: tsfc_land(:) => null() !< real (kind=kind_phys), pointer :: tsfc_land_save(:) => null() !< - real (kind=kind_phys), pointer :: tsfc_ocean(:) => null() !< + real (kind=kind_phys), pointer :: tsfc_water(:) => null() !< real (kind=kind_phys), pointer :: tsfg(:) => null() !< real (kind=kind_phys), pointer :: tsurf(:) => null() !< real (kind=kind_phys), pointer :: tsurf_ice(:) => null() !< real (kind=kind_phys), pointer :: tsurf_land(:) => null() !< - real (kind=kind_phys), pointer :: tsurf_ocean(:) => null() !< + real (kind=kind_phys), pointer :: tsurf_water(:) => null() !< real (kind=kind_phys), pointer :: ud_mf(:,:) => null() !< real (kind=kind_phys), pointer :: uustar_ice(:) => null() !< real (kind=kind_phys), pointer :: uustar_land(:) => null() !< - real (kind=kind_phys), pointer :: uustar_ocean(:) => null() !< + real (kind=kind_phys), pointer :: uustar_water(:) => null() !< real (kind=kind_phys), pointer :: vdftra(:,:,:) => null() !< real (kind=kind_phys), pointer :: vegf1d(:) => null() !< real (kind=kind_phys) :: lndp_vgf !< @@ -1997,7 +1997,7 @@ module GFS_typedefs integer, pointer :: vegtype(:) => null() !< real (kind=kind_phys), pointer :: w_upi(:,:) => null() !< real (kind=kind_phys), pointer :: wcbmax(:) => null() !< - real (kind=kind_phys), pointer :: weasd_ocean(:) => null() !< + real (kind=kind_phys), pointer :: weasd_water(:) => null() !< real (kind=kind_phys), pointer :: weasd_land(:) => null() !< real (kind=kind_phys), pointer :: weasd_land_save(:) => null() !< real (kind=kind_phys), pointer :: weasd_ice(:) => null() !< @@ -2009,9 +2009,6 @@ module GFS_typedefs real (kind=kind_phys), pointer :: xlai1d(:) => null() !< real (kind=kind_phys), pointer :: xmu(:) => null() !< real (kind=kind_phys), pointer :: z01d(:) => null() !< - real (kind=kind_phys), pointer :: zorl_ice(:) => null() !< - real (kind=kind_phys), pointer :: zorl_land(:) => null() !< - real (kind=kind_phys), pointer :: zorl_ocean(:) => null() !< real (kind=kind_phys), pointer :: zt1d(:) => null() !< !================================================================================================== ! UGWP - five mechnanisms of momentum deposition due to various types of GWs @@ -2276,10 +2273,10 @@ subroutine sfcprop_create (Sfcprop, IM, Model) allocate (Sfcprop%tiice (IM,Model%kice)) allocate (Sfcprop%snowd (IM)) allocate (Sfcprop%zorl (IM)) - allocate (Sfcprop%zorlo (IM)) + allocate (Sfcprop%zorlw (IM)) allocate (Sfcprop%zorll (IM)) allocate (Sfcprop%zorli (IM)) - allocate (Sfcprop%zorlw (IM)) + allocate (Sfcprop%zorlwav (IM)) allocate (Sfcprop%fice (IM)) ! allocate (Sfcprop%hprim (IM)) allocate (Sfcprop%hprime (IM,Model%nmtvr)) @@ -2296,10 +2293,10 @@ subroutine sfcprop_create (Sfcprop, IM, Model) Sfcprop%tiice = clear_val Sfcprop%snowd = clear_val Sfcprop%zorl = clear_val - Sfcprop%zorlo = clear_val + Sfcprop%zorlw = clear_val Sfcprop%zorll = clear_val Sfcprop%zorli = clear_val - Sfcprop%zorlw = clear_val + Sfcprop%zorlwav = clear_val Sfcprop%fice = clear_val ! Sfcprop%hprim = clear_val Sfcprop%hprime = clear_val @@ -6236,7 +6233,7 @@ subroutine interstitial_create (Interstitial, IM, Model) ! Allocate arrays allocate (Interstitial%adjsfculw_land (IM)) allocate (Interstitial%adjsfculw_ice (IM)) - allocate (Interstitial%adjsfculw_ocean (IM)) + allocate (Interstitial%adjsfculw_water (IM)) allocate (Interstitial%adjnirbmd (IM)) allocate (Interstitial%adjnirbmu (IM)) allocate (Interstitial%adjnirdfd (IM)) @@ -6255,14 +6252,14 @@ subroutine interstitial_create (Interstitial, IM, Model) allocate (Interstitial%cd (IM)) allocate (Interstitial%cd_ice (IM)) allocate (Interstitial%cd_land (IM)) - allocate (Interstitial%cd_ocean (IM)) + allocate (Interstitial%cd_water (IM)) allocate (Interstitial%cdq (IM)) allocate (Interstitial%cdq_ice (IM)) allocate (Interstitial%cdq_land (IM)) - allocate (Interstitial%cdq_ocean (IM)) + allocate (Interstitial%cdq_water (IM)) allocate (Interstitial%chh_ice (IM)) allocate (Interstitial%chh_land (IM)) - allocate (Interstitial%chh_ocean (IM)) + allocate (Interstitial%chh_water (IM)) allocate (Interstitial%cldf (IM)) allocate (Interstitial%cldsa (IM,5)) allocate (Interstitial%cldtaulw (IM,Model%levr+LTP)) @@ -6273,7 +6270,7 @@ subroutine interstitial_create (Interstitial, IM, Model) allocate (Interstitial%clx (IM,4)) allocate (Interstitial%cmm_ice (IM)) allocate (Interstitial%cmm_land (IM)) - allocate (Interstitial%cmm_ocean (IM)) + allocate (Interstitial%cmm_water (IM)) allocate (Interstitial%cnvc (IM,Model%levs)) allocate (Interstitial%cnvw (IM,Model%levs)) allocate (Interstitial%ctei_r (IM)) @@ -6305,39 +6302,39 @@ subroutine interstitial_create (Interstitial, IM, Model) allocate (Interstitial%ep1d (IM)) allocate (Interstitial%ep1d_ice (IM)) allocate (Interstitial%ep1d_land (IM)) - allocate (Interstitial%ep1d_ocean (IM)) + allocate (Interstitial%ep1d_water (IM)) allocate (Interstitial%evapq (IM)) allocate (Interstitial%evap_ice (IM)) allocate (Interstitial%evap_land (IM)) - allocate (Interstitial%evap_ocean (IM)) + allocate (Interstitial%evap_water (IM)) allocate (Interstitial%evbs (IM)) allocate (Interstitial%evcw (IM)) allocate (Interstitial%faerlw (IM,Model%levr+LTP,NBDLW,NF_AELW)) allocate (Interstitial%faersw (IM,Model%levr+LTP,NBDSW,NF_AESW)) allocate (Interstitial%ffhh_ice (IM)) allocate (Interstitial%ffhh_land (IM)) - allocate (Interstitial%ffhh_ocean (IM)) + allocate (Interstitial%ffhh_water (IM)) allocate (Interstitial%fh2 (IM)) allocate (Interstitial%fh2_ice (IM)) allocate (Interstitial%fh2_land (IM)) - allocate (Interstitial%fh2_ocean (IM)) + allocate (Interstitial%fh2_water (IM)) allocate (Interstitial%flag_cice (IM)) allocate (Interstitial%flag_guess (IM)) allocate (Interstitial%flag_iter (IM)) allocate (Interstitial%ffmm_ice (IM)) allocate (Interstitial%ffmm_land (IM)) - allocate (Interstitial%ffmm_ocean (IM)) + allocate (Interstitial%ffmm_water (IM)) allocate (Interstitial%fm10 (IM)) allocate (Interstitial%fm10_ice (IM)) allocate (Interstitial%fm10_land (IM)) - allocate (Interstitial%fm10_ocean (IM)) + allocate (Interstitial%fm10_water (IM)) allocate (Interstitial%frland (IM)) allocate (Interstitial%fscav (Interstitial%nscav)) allocate (Interstitial%fswtr (Interstitial%nscav)) allocate (Interstitial%gabsbdlw (IM)) allocate (Interstitial%gabsbdlw_ice (IM)) allocate (Interstitial%gabsbdlw_land (IM)) - allocate (Interstitial%gabsbdlw_ocean (IM)) + allocate (Interstitial%gabsbdlw_water (IM)) allocate (Interstitial%gamma (IM)) allocate (Interstitial%gamq (IM)) allocate (Interstitial%gamt (IM)) @@ -6345,7 +6342,7 @@ subroutine interstitial_create (Interstitial, IM, Model) allocate (Interstitial%gflx (IM)) allocate (Interstitial%gflx_ice (IM)) allocate (Interstitial%gflx_land (IM)) - allocate (Interstitial%gflx_ocean (IM)) + allocate (Interstitial%gflx_water (IM)) allocate (Interstitial%gwdcu (IM,Model%levs)) allocate (Interstitial%gwdcv (IM,Model%levs)) allocate (Interstitial%hefac (IM)) @@ -6353,7 +6350,7 @@ subroutine interstitial_create (Interstitial, IM, Model) allocate (Interstitial%hflxq (IM)) allocate (Interstitial%hflx_ice (IM)) allocate (Interstitial%hflx_land (IM)) - allocate (Interstitial%hflx_ocean (IM)) + allocate (Interstitial%hflx_water (IM)) allocate (Interstitial%htlwc (IM,Model%levr+LTP)) allocate (Interstitial%htlw0 (IM,Model%levr+LTP)) allocate (Interstitial%htswc (IM,Model%levr+LTP)) @@ -6383,7 +6380,7 @@ subroutine interstitial_create (Interstitial, IM, Model) allocate (Interstitial%prcpmp (IM)) allocate (Interstitial%qss_ice (IM)) allocate (Interstitial%qss_land (IM)) - allocate (Interstitial%qss_ocean (IM)) + allocate (Interstitial%qss_water (IM)) allocate (Interstitial%raincd (IM)) allocate (Interstitial%raincs (IM)) allocate (Interstitial%rainmcadj (IM)) @@ -6391,7 +6388,7 @@ subroutine interstitial_create (Interstitial, IM, Model) allocate (Interstitial%rb (IM)) allocate (Interstitial%rb_ice (IM)) allocate (Interstitial%rb_land (IM)) - allocate (Interstitial%rb_ocean (IM)) + allocate (Interstitial%rb_water (IM)) allocate (Interstitial%rhc (IM,Model%levs)) allocate (Interstitial%runoff (IM)) allocate (Interstitial%save_q (IM,Model%levs,Model%ntrac)) @@ -6403,7 +6400,7 @@ subroutine interstitial_create (Interstitial, IM, Model) allocate (Interstitial%scmpsw (IM)) allocate (Interstitial%semis_ice (IM)) allocate (Interstitial%semis_land (IM)) - allocate (Interstitial%semis_ocean (IM)) + allocate (Interstitial%semis_water (IM)) allocate (Interstitial%sfcalb (IM,NF_ALBD)) allocate (Interstitial%sigma (IM)) allocate (Interstitial%sigmaf (IM)) @@ -6413,43 +6410,43 @@ subroutine interstitial_create (Interstitial, IM, Model) allocate (Interstitial%snowc (IM)) allocate (Interstitial%snowd_ice (IM)) allocate (Interstitial%snowd_land (IM)) - allocate (Interstitial%snowd_ocean (IM)) + allocate (Interstitial%snowd_water (IM)) allocate (Interstitial%snohf (IM)) allocate (Interstitial%snowmt (IM)) allocate (Interstitial%soiltype (IM)) allocate (Interstitial%stress (IM)) allocate (Interstitial%stress_ice (IM)) allocate (Interstitial%stress_land (IM)) - allocate (Interstitial%stress_ocean (IM)) + allocate (Interstitial%stress_water (IM)) allocate (Interstitial%theta (IM)) allocate (Interstitial%tice (IM)) allocate (Interstitial%tlvl (IM,Model%levr+1+LTP)) allocate (Interstitial%tlyr (IM,Model%levr+LTP)) allocate (Interstitial%tprcp_ice (IM)) allocate (Interstitial%tprcp_land (IM)) - allocate (Interstitial%tprcp_ocean (IM)) + allocate (Interstitial%tprcp_water (IM)) allocate (Interstitial%trans (IM)) allocate (Interstitial%tseal (IM)) allocate (Interstitial%tsfa (IM)) allocate (Interstitial%tsfc_ice (IM)) allocate (Interstitial%tsfc_land (IM)) - allocate (Interstitial%tsfc_ocean (IM)) + allocate (Interstitial%tsfc_water (IM)) allocate (Interstitial%tsfg (IM)) allocate (Interstitial%tsurf (IM)) allocate (Interstitial%tsurf_ice (IM)) allocate (Interstitial%tsurf_land (IM)) - allocate (Interstitial%tsurf_ocean (IM)) + allocate (Interstitial%tsurf_water (IM)) allocate (Interstitial%ud_mf (IM,Model%levs)) allocate (Interstitial%uustar_ice (IM)) allocate (Interstitial%uustar_land (IM)) - allocate (Interstitial%uustar_ocean (IM)) + allocate (Interstitial%uustar_water (IM)) allocate (Interstitial%vdftra (IM,Model%levs,Interstitial%nvdiff)) !GJF first dimension was set as 'IX' in GFS_physics_driver allocate (Interstitial%vegf1d (IM)) allocate (Interstitial%vegtype (IM)) allocate (Interstitial%wcbmax (IM)) allocate (Interstitial%weasd_ice (IM)) allocate (Interstitial%weasd_land (IM)) - allocate (Interstitial%weasd_ocean (IM)) + allocate (Interstitial%weasd_water (IM)) allocate (Interstitial%wind (IM)) allocate (Interstitial%work1 (IM)) allocate (Interstitial%work2 (IM)) @@ -6458,9 +6455,6 @@ subroutine interstitial_create (Interstitial, IM, Model) allocate (Interstitial%xlai1d (IM)) allocate (Interstitial%xmu (IM)) allocate (Interstitial%z01d (IM)) - allocate (Interstitial%zorl_ice (IM)) - allocate (Interstitial%zorl_land (IM)) - allocate (Interstitial%zorl_ocean (IM)) allocate (Interstitial%zt1d (IM)) ! RRTMGP @@ -6940,7 +6934,7 @@ subroutine interstitial_phys_reset (Interstitial, Model) ! Interstitial%adjsfculw_land = clear_val Interstitial%adjsfculw_ice = clear_val - Interstitial%adjsfculw_ocean = clear_val + Interstitial%adjsfculw_water = clear_val Interstitial%adjnirbmd = clear_val Interstitial%adjnirbmu = clear_val Interstitial%adjnirdfd = clear_val @@ -6953,14 +6947,14 @@ subroutine interstitial_phys_reset (Interstitial, Model) Interstitial%cd = clear_val Interstitial%cd_ice = huge Interstitial%cd_land = huge - Interstitial%cd_ocean = huge + Interstitial%cd_water = huge Interstitial%cdq = clear_val Interstitial%cdq_ice = huge Interstitial%cdq_land = huge - Interstitial%cdq_ocean = huge + Interstitial%cdq_water = huge Interstitial%chh_ice = huge Interstitial%chh_land = huge - Interstitial%chh_ocean = huge + Interstitial%chh_water = huge Interstitial%cld1d = clear_val Interstitial%cldf = clear_val Interstitial%clw = clear_val @@ -6968,7 +6962,7 @@ subroutine interstitial_phys_reset (Interstitial, Model) Interstitial%clx = clear_val Interstitial%cmm_ice = huge Interstitial%cmm_land = huge - Interstitial%cmm_ocean = huge + Interstitial%cmm_water = huge Interstitial%cnvc = clear_val Interstitial%cnvw = clear_val Interstitial%ctei_r = clear_val @@ -6997,44 +6991,44 @@ subroutine interstitial_phys_reset (Interstitial, Model) Interstitial%ep1d = clear_val Interstitial%ep1d_ice = huge Interstitial%ep1d_land = huge - Interstitial%ep1d_ocean = huge + Interstitial%ep1d_water = huge Interstitial%evapq = clear_val Interstitial%evap_ice = huge Interstitial%evap_land = huge - Interstitial%evap_ocean = huge + Interstitial%evap_water = huge Interstitial%evbs = clear_val Interstitial%evcw = clear_val Interstitial%ffhh_ice = huge Interstitial%ffhh_land = huge - Interstitial%ffhh_ocean = huge + Interstitial%ffhh_water = huge Interstitial%fh2 = clear_val Interstitial%fh2_ice = huge Interstitial%fh2_land = huge - Interstitial%fh2_ocean = huge + Interstitial%fh2_water = huge Interstitial%flag_cice = .false. Interstitial%flag_guess = .false. Interstitial%flag_iter = .true. Interstitial%ffmm_ice = huge Interstitial%ffmm_land = huge - Interstitial%ffmm_ocean = huge + Interstitial%ffmm_water = huge Interstitial%fm10 = clear_val Interstitial%fm10_ice = huge Interstitial%fm10_land = huge - Interstitial%fm10_ocean = huge + Interstitial%fm10_water = huge Interstitial%frland = clear_val Interstitial%fscav = clear_val Interstitial%fswtr = clear_val Interstitial%gabsbdlw = clear_val Interstitial%gabsbdlw_ice = clear_val Interstitial%gabsbdlw_land = clear_val - Interstitial%gabsbdlw_ocean = clear_val + Interstitial%gabsbdlw_water = clear_val Interstitial%gamma = clear_val Interstitial%gamq = clear_val Interstitial%gamt = clear_val Interstitial%gflx = clear_val Interstitial%gflx_ice = clear_val Interstitial%gflx_land = clear_val - Interstitial%gflx_ocean = clear_val + Interstitial%gflx_water = clear_val Interstitial%gwdcu = clear_val Interstitial%gwdcv = clear_val Interstitial%hefac = clear_val @@ -7042,7 +7036,7 @@ subroutine interstitial_phys_reset (Interstitial, Model) Interstitial%hflxq = clear_val Interstitial%hflx_ice = huge Interstitial%hflx_land = huge - Interstitial%hflx_ocean = huge + Interstitial%hflx_water = huge Interstitial%dry = .false. Interstitial%icy = .false. Interstitial%lake = .false. @@ -7061,7 +7055,7 @@ subroutine interstitial_phys_reset (Interstitial, Model) Interstitial%prnum = clear_val Interstitial%qss_ice = huge Interstitial%qss_land = huge - Interstitial%qss_ocean = huge + Interstitial%qss_water = huge Interstitial%raincd = clear_val Interstitial%raincs = clear_val Interstitial%rainmcadj = clear_val @@ -7069,7 +7063,7 @@ subroutine interstitial_phys_reset (Interstitial, Model) Interstitial%rb = clear_val Interstitial%rb_ice = huge Interstitial%rb_land = huge - Interstitial%rb_ocean = huge + Interstitial%rb_water = huge Interstitial%rhc = clear_val Interstitial%runoff = clear_val Interstitial%save_q = clear_val @@ -7080,7 +7074,7 @@ subroutine interstitial_phys_reset (Interstitial, Model) Interstitial%sbsno = clear_val Interstitial%semis_ice = clear_val Interstitial%semis_land = clear_val - Interstitial%semis_ocean = clear_val + Interstitial%semis_water = clear_val Interstitial%sigma = clear_val Interstitial%sigmaf = clear_val Interstitial%sigmafrac = clear_val @@ -7089,32 +7083,32 @@ subroutine interstitial_phys_reset (Interstitial, Model) Interstitial%snowc = clear_val Interstitial%snowd_ice = huge Interstitial%snowd_land = huge - Interstitial%snowd_ocean = huge + Interstitial%snowd_water = huge Interstitial%snohf = clear_val Interstitial%snowmt = clear_val Interstitial%soiltype = 0 Interstitial%stress = clear_val Interstitial%stress_ice = huge Interstitial%stress_land = huge - Interstitial%stress_ocean = huge + Interstitial%stress_water = huge Interstitial%theta = clear_val Interstitial%tice = clear_val Interstitial%tprcp_ice = huge Interstitial%tprcp_land = huge - Interstitial%tprcp_ocean = huge + Interstitial%tprcp_water = huge Interstitial%trans = clear_val Interstitial%tseal = clear_val Interstitial%tsfc_ice = huge Interstitial%tsfc_land = huge - Interstitial%tsfc_ocean = huge + Interstitial%tsfc_water = huge Interstitial%tsurf = clear_val Interstitial%tsurf_ice = huge Interstitial%tsurf_land = huge - Interstitial%tsurf_ocean = huge + Interstitial%tsurf_water = huge Interstitial%ud_mf = clear_val Interstitial%uustar_ice = huge Interstitial%uustar_land = huge - Interstitial%uustar_ocean = huge + Interstitial%uustar_water = huge Interstitial%vdftra = clear_val Interstitial%vegf1d = clear_val Interstitial%lndp_vgf = clear_val @@ -7122,7 +7116,7 @@ subroutine interstitial_phys_reset (Interstitial, Model) Interstitial%wcbmax = clear_val Interstitial%weasd_ice = huge Interstitial%weasd_land = huge - Interstitial%weasd_ocean = huge + Interstitial%weasd_water = huge Interstitial%wind = huge Interstitial%work1 = clear_val Interstitial%work2 = clear_val @@ -7131,9 +7125,6 @@ subroutine interstitial_phys_reset (Interstitial, Model) Interstitial%xlai1d = clear_val Interstitial%xmu = clear_val Interstitial%z01d = clear_val - Interstitial%zorl_ice = huge - Interstitial%zorl_land = huge - Interstitial%zorl_ocean = huge Interstitial%zt1d = clear_val ! UGWP common @@ -7283,7 +7274,7 @@ subroutine interstitial_print(Interstitial, Model, mpirank, omprank, blkno) write (0,*) 'Interstitial_print: values that change' write (0,*) 'sum(Interstitial%adjsfculw_land ) = ', sum(Interstitial%adjsfculw_land ) write (0,*) 'sum(Interstitial%adjsfculw_ice ) = ', sum(Interstitial%adjsfculw_ice ) - write (0,*) 'sum(Interstitial%adjsfculw_ocean ) = ', sum(Interstitial%adjsfculw_ocean ) + write (0,*) 'sum(Interstitial%adjsfculw_water ) = ', sum(Interstitial%adjsfculw_water ) write (0,*) 'sum(Interstitial%adjnirbmd ) = ', sum(Interstitial%adjnirbmd ) write (0,*) 'sum(Interstitial%adjnirbmu ) = ', sum(Interstitial%adjnirbmu ) write (0,*) 'sum(Interstitial%adjnirdfd ) = ', sum(Interstitial%adjnirdfd ) @@ -7301,14 +7292,14 @@ subroutine interstitial_print(Interstitial, Model, mpirank, omprank, blkno) write (0,*) 'sum(Interstitial%cd ) = ', sum(Interstitial%cd ) write (0,*) 'sum(Interstitial%cd_ice ) = ', sum(Interstitial%cd_ice ) write (0,*) 'sum(Interstitial%cd_land ) = ', sum(Interstitial%cd_land ) - write (0,*) 'sum(Interstitial%cd_ocean ) = ', sum(Interstitial%cd_ocean ) + write (0,*) 'sum(Interstitial%cd_water ) = ', sum(Interstitial%cd_water ) write (0,*) 'sum(Interstitial%cdq ) = ', sum(Interstitial%cdq ) write (0,*) 'sum(Interstitial%cdq_ice ) = ', sum(Interstitial%cdq_ice ) write (0,*) 'sum(Interstitial%cdq_land ) = ', sum(Interstitial%cdq_land ) - write (0,*) 'sum(Interstitial%cdq_ocean ) = ', sum(Interstitial%cdq_ocean ) + write (0,*) 'sum(Interstitial%cdq_water ) = ', sum(Interstitial%cdq_water ) write (0,*) 'sum(Interstitial%chh_ice ) = ', sum(Interstitial%chh_ice ) write (0,*) 'sum(Interstitial%chh_land ) = ', sum(Interstitial%chh_land ) - write (0,*) 'sum(Interstitial%chh_ocean ) = ', sum(Interstitial%chh_ocean ) + write (0,*) 'sum(Interstitial%chh_water ) = ', sum(Interstitial%chh_water ) write (0,*) 'sum(Interstitial%cldf ) = ', sum(Interstitial%cldf ) write (0,*) 'sum(Interstitial%cldsa ) = ', sum(Interstitial%cldsa ) write (0,*) 'sum(Interstitial%cldtaulw ) = ', sum(Interstitial%cldtaulw ) @@ -7319,7 +7310,7 @@ subroutine interstitial_print(Interstitial, Model, mpirank, omprank, blkno) write (0,*) 'sum(Interstitial%clouds ) = ', sum(Interstitial%clouds ) write (0,*) 'sum(Interstitial%cmm_ice ) = ', sum(Interstitial%cmm_ice ) write (0,*) 'sum(Interstitial%cmm_land ) = ', sum(Interstitial%cmm_land ) - write (0,*) 'sum(Interstitial%cmm_ocean ) = ', sum(Interstitial%cmm_ocean ) + write (0,*) 'sum(Interstitial%cmm_water ) = ', sum(Interstitial%cmm_water ) write (0,*) 'sum(Interstitial%cnvc ) = ', sum(Interstitial%cnvc ) write (0,*) 'sum(Interstitial%cnvw ) = ', sum(Interstitial%cnvw ) write (0,*) 'sum(Interstitial%ctei_r ) = ', sum(Interstitial%ctei_r ) @@ -7351,32 +7342,32 @@ subroutine interstitial_print(Interstitial, Model, mpirank, omprank, blkno) write (0,*) 'sum(Interstitial%ep1d ) = ', sum(Interstitial%ep1d ) write (0,*) 'sum(Interstitial%ep1d_ice ) = ', sum(Interstitial%ep1d_ice ) write (0,*) 'sum(Interstitial%ep1d_land ) = ', sum(Interstitial%ep1d_land ) - write (0,*) 'sum(Interstitial%ep1d_ocean ) = ', sum(Interstitial%ep1d_ocean ) + write (0,*) 'sum(Interstitial%ep1d_water ) = ', sum(Interstitial%ep1d_water ) write (0,*) 'sum(Interstitial%evapq ) = ', sum(Interstitial%evapq ) write (0,*) 'sum(Interstitial%evap_ice ) = ', sum(Interstitial%evap_ice ) write (0,*) 'sum(Interstitial%evap_land ) = ', sum(Interstitial%evap_land ) - write (0,*) 'sum(Interstitial%evap_ocean ) = ', sum(Interstitial%evap_ocean ) + write (0,*) 'sum(Interstitial%evap_water ) = ', sum(Interstitial%evap_water ) write (0,*) 'sum(Interstitial%evbs ) = ', sum(Interstitial%evbs ) write (0,*) 'sum(Interstitial%evcw ) = ', sum(Interstitial%evcw ) write (0,*) 'sum(Interstitial%faerlw ) = ', sum(Interstitial%faerlw ) write (0,*) 'sum(Interstitial%faersw ) = ', sum(Interstitial%faersw ) write (0,*) 'sum(Interstitial%ffhh_ice ) = ', sum(Interstitial%ffhh_ice ) write (0,*) 'sum(Interstitial%ffhh_land ) = ', sum(Interstitial%ffhh_land ) - write (0,*) 'sum(Interstitial%ffhh_ocean ) = ', sum(Interstitial%ffhh_ocean ) + write (0,*) 'sum(Interstitial%ffhh_water ) = ', sum(Interstitial%ffhh_water ) write (0,*) 'sum(Interstitial%fh2 ) = ', sum(Interstitial%fh2 ) write (0,*) 'sum(Interstitial%fh2_ice ) = ', sum(Interstitial%fh2_ice ) write (0,*) 'sum(Interstitial%fh2_land ) = ', sum(Interstitial%fh2_land ) - write (0,*) 'sum(Interstitial%fh2_ocean ) = ', sum(Interstitial%fh2_ocean ) + write (0,*) 'sum(Interstitial%fh2_water ) = ', sum(Interstitial%fh2_water ) write (0,*) 'Interstitial%flag_cice(1) = ', Interstitial%flag_cice(1) write (0,*) 'Interstitial%flag_guess(1) = ', Interstitial%flag_guess(1) write (0,*) 'Interstitial%flag_iter(1) = ', Interstitial%flag_iter(1) write (0,*) 'sum(Interstitial%ffmm_ice ) = ', sum(Interstitial%ffmm_ice ) write (0,*) 'sum(Interstitial%ffmm_land ) = ', sum(Interstitial%ffmm_land ) - write (0,*) 'sum(Interstitial%ffmm_ocean ) = ', sum(Interstitial%ffmm_ocean ) + write (0,*) 'sum(Interstitial%ffmm_water ) = ', sum(Interstitial%ffmm_water ) write (0,*) 'sum(Interstitial%fm10 ) = ', sum(Interstitial%fm10 ) write (0,*) 'sum(Interstitial%fm10_ice ) = ', sum(Interstitial%fm10_ice ) write (0,*) 'sum(Interstitial%fm10_land ) = ', sum(Interstitial%fm10_land ) - write (0,*) 'sum(Interstitial%fm10_ocean ) = ', sum(Interstitial%fm10_ocean ) + write (0,*) 'sum(Interstitial%fm10_water ) = ', sum(Interstitial%fm10_water ) write (0,*) 'Interstitial%frain = ', Interstitial%frain write (0,*) 'sum(Interstitial%frland ) = ', sum(Interstitial%frland ) write (0,*) 'sum(Interstitial%fscav ) = ', sum(Interstitial%fscav ) @@ -7384,7 +7375,7 @@ subroutine interstitial_print(Interstitial, Model, mpirank, omprank, blkno) write (0,*) 'sum(Interstitial%gabsbdlw ) = ', sum(Interstitial%gabsbdlw ) write (0,*) 'sum(Interstitial%gabsbdlw_ice ) = ', sum(Interstitial%gabsbdlw_ice ) write (0,*) 'sum(Interstitial%gabsbdlw_land ) = ', sum(Interstitial%gabsbdlw_land ) - write (0,*) 'sum(Interstitial%gabsbdlw_ocean ) = ', sum(Interstitial%gabsbdlw_ocean ) + write (0,*) 'sum(Interstitial%gabsbdlw_water ) = ', sum(Interstitial%gabsbdlw_water ) write (0,*) 'sum(Interstitial%gamma ) = ', sum(Interstitial%gamma ) write (0,*) 'sum(Interstitial%gamq ) = ', sum(Interstitial%gamq ) write (0,*) 'sum(Interstitial%gamt ) = ', sum(Interstitial%gamt ) @@ -7392,7 +7383,7 @@ subroutine interstitial_print(Interstitial, Model, mpirank, omprank, blkno) write (0,*) 'sum(Interstitial%gflx ) = ', sum(Interstitial%gflx ) write (0,*) 'sum(Interstitial%gflx_ice ) = ', sum(Interstitial%gflx_ice ) write (0,*) 'sum(Interstitial%gflx_land ) = ', sum(Interstitial%gflx_land ) - write (0,*) 'sum(Interstitial%gflx_ocean ) = ', sum(Interstitial%gflx_ocean ) + write (0,*) 'sum(Interstitial%gflx_water ) = ', sum(Interstitial%gflx_water ) write (0,*) 'sum(Interstitial%gwdcu ) = ', sum(Interstitial%gwdcu ) write (0,*) 'sum(Interstitial%gwdcv ) = ', sum(Interstitial%gwdcv ) write (0,*) 'sum(Interstitial%hefac ) = ', sum(Interstitial%hefac ) @@ -7400,7 +7391,7 @@ subroutine interstitial_print(Interstitial, Model, mpirank, omprank, blkno) write (0,*) 'sum(Interstitial%hflxq ) = ', sum(Interstitial%hflxq ) write (0,*) 'sum(Interstitial%hflx_ice ) = ', sum(Interstitial%hflx_ice ) write (0,*) 'sum(Interstitial%hflx_land ) = ', sum(Interstitial%hflx_land ) - write (0,*) 'sum(Interstitial%hflx_ocean ) = ', sum(Interstitial%hflx_ocean ) + write (0,*) 'sum(Interstitial%hflx_water ) = ', sum(Interstitial%hflx_water ) write (0,*) 'sum(Interstitial%htlwc ) = ', sum(Interstitial%htlwc ) write (0,*) 'sum(Interstitial%htlw0 ) = ', sum(Interstitial%htlw0 ) write (0,*) 'sum(Interstitial%htswc ) = ', sum(Interstitial%htswc ) @@ -7434,7 +7425,7 @@ subroutine interstitial_print(Interstitial, Model, mpirank, omprank, blkno) write (0,*) 'sum(Interstitial%qlyr ) = ', sum(Interstitial%qlyr ) write (0,*) 'sum(Interstitial%qss_ice ) = ', sum(Interstitial%qss_ice ) write (0,*) 'sum(Interstitial%qss_land ) = ', sum(Interstitial%qss_land ) - write (0,*) 'sum(Interstitial%qss_ocean ) = ', sum(Interstitial%qss_ocean ) + write (0,*) 'sum(Interstitial%qss_water ) = ', sum(Interstitial%qss_water ) write (0,*) 'Interstitial%radar_reset = ', Interstitial%radar_reset write (0,*) 'Interstitial%raddt = ', Interstitial%raddt write (0,*) 'sum(Interstitial%raincd ) = ', sum(Interstitial%raincd ) @@ -7444,7 +7435,7 @@ subroutine interstitial_print(Interstitial, Model, mpirank, omprank, blkno) write (0,*) 'sum(Interstitial%rb ) = ', sum(Interstitial%rb ) write (0,*) 'sum(Interstitial%rb_ice ) = ', sum(Interstitial%rb_ice ) write (0,*) 'sum(Interstitial%rb_land ) = ', sum(Interstitial%rb_land ) - write (0,*) 'sum(Interstitial%rb_ocean ) = ', sum(Interstitial%rb_ocean ) + write (0,*) 'sum(Interstitial%rb_water ) = ', sum(Interstitial%rb_water ) write (0,*) 'Interstitial%reset = ', Interstitial%reset write (0,*) 'sum(Interstitial%rhc ) = ', sum(Interstitial%rhc ) write (0,*) 'sum(Interstitial%runoff ) = ', sum(Interstitial%runoff ) @@ -7462,7 +7453,7 @@ subroutine interstitial_print(Interstitial, Model, mpirank, omprank, blkno) write (0,*) 'sum(Interstitial%scmpsw%visdf ) = ', sum(Interstitial%scmpsw%visdf ) write (0,*) 'sum(Interstitial%semis_ice ) = ', sum(Interstitial%semis_ice ) write (0,*) 'sum(Interstitial%semis_land ) = ', sum(Interstitial%semis_land ) - write (0,*) 'sum(Interstitial%semis_ocean ) = ', sum(Interstitial%semis_ocean ) + write (0,*) 'sum(Interstitial%semis_water ) = ', sum(Interstitial%semis_water ) write (0,*) 'sum(Interstitial%sfcalb ) = ', sum(Interstitial%sfcalb ) write (0,*) 'sum(Interstitial%sigma ) = ', sum(Interstitial%sigma ) write (0,*) 'sum(Interstitial%sigmaf ) = ', sum(Interstitial%sigmaf ) @@ -7472,43 +7463,43 @@ subroutine interstitial_print(Interstitial, Model, mpirank, omprank, blkno) write (0,*) 'sum(Interstitial%snowc ) = ', sum(Interstitial%snowc ) write (0,*) 'sum(Interstitial%snowd_ice ) = ', sum(Interstitial%snowd_ice ) write (0,*) 'sum(Interstitial%snowd_land ) = ', sum(Interstitial%snowd_land ) - write (0,*) 'sum(Interstitial%snowd_ocean ) = ', sum(Interstitial%snowd_ocean ) + write (0,*) 'sum(Interstitial%snowd_water ) = ', sum(Interstitial%snowd_water ) write (0,*) 'sum(Interstitial%snohf ) = ', sum(Interstitial%snohf ) write (0,*) 'sum(Interstitial%snowmt ) = ', sum(Interstitial%snowmt ) write (0,*) 'sum(Interstitial%soiltype ) = ', sum(Interstitial%soiltype ) write (0,*) 'sum(Interstitial%stress ) = ', sum(Interstitial%stress ) write (0,*) 'sum(Interstitial%stress_ice ) = ', sum(Interstitial%stress_ice ) write (0,*) 'sum(Interstitial%stress_land ) = ', sum(Interstitial%stress_land ) - write (0,*) 'sum(Interstitial%stress_ocean ) = ', sum(Interstitial%stress_ocean ) + write (0,*) 'sum(Interstitial%stress_water ) = ', sum(Interstitial%stress_water ) write (0,*) 'sum(Interstitial%theta ) = ', sum(Interstitial%theta ) write (0,*) 'sum(Interstitial%tice ) = ', sum(Interstitial%tice ) write (0,*) 'sum(Interstitial%tlvl ) = ', sum(Interstitial%tlvl ) write (0,*) 'sum(Interstitial%tlyr ) = ', sum(Interstitial%tlyr ) write (0,*) 'sum(Interstitial%tprcp_ice ) = ', sum(Interstitial%tprcp_ice ) write (0,*) 'sum(Interstitial%tprcp_land ) = ', sum(Interstitial%tprcp_land ) - write (0,*) 'sum(Interstitial%tprcp_ocean ) = ', sum(Interstitial%tprcp_ocean ) + write (0,*) 'sum(Interstitial%tprcp_water ) = ', sum(Interstitial%tprcp_water ) write (0,*) 'sum(Interstitial%trans ) = ', sum(Interstitial%trans ) write (0,*) 'sum(Interstitial%tseal ) = ', sum(Interstitial%tseal ) write (0,*) 'sum(Interstitial%tsfa ) = ', sum(Interstitial%tsfa ) write (0,*) 'sum(Interstitial%tsfc_ice ) = ', sum(Interstitial%tsfc_ice ) write (0,*) 'sum(Interstitial%tsfc_land ) = ', sum(Interstitial%tsfc_land ) - write (0,*) 'sum(Interstitial%tsfc_ocean ) = ', sum(Interstitial%tsfc_ocean ) + write (0,*) 'sum(Interstitial%tsfc_water ) = ', sum(Interstitial%tsfc_water ) write (0,*) 'sum(Interstitial%tsfg ) = ', sum(Interstitial%tsfg ) write (0,*) 'sum(Interstitial%tsurf ) = ', sum(Interstitial%tsurf ) write (0,*) 'sum(Interstitial%tsurf_ice ) = ', sum(Interstitial%tsurf_ice ) write (0,*) 'sum(Interstitial%tsurf_land ) = ', sum(Interstitial%tsurf_land ) - write (0,*) 'sum(Interstitial%tsurf_ocean ) = ', sum(Interstitial%tsurf_ocean ) + write (0,*) 'sum(Interstitial%tsurf_water ) = ', sum(Interstitial%tsurf_water ) write (0,*) 'sum(Interstitial%ud_mf ) = ', sum(Interstitial%ud_mf ) write (0,*) 'sum(Interstitial%uustar_ice ) = ', sum(Interstitial%uustar_ice ) write (0,*) 'sum(Interstitial%uustar_land ) = ', sum(Interstitial%uustar_land ) - write (0,*) 'sum(Interstitial%uustar_ocean ) = ', sum(Interstitial%uustar_ocean ) + write (0,*) 'sum(Interstitial%uustar_water ) = ', sum(Interstitial%uustar_water ) write (0,*) 'sum(Interstitial%vdftra ) = ', sum(Interstitial%vdftra ) write (0,*) 'sum(Interstitial%vegf1d ) = ', sum(Interstitial%vegf1d ) write (0,*) 'sum(Interstitial%vegtype ) = ', sum(Interstitial%vegtype ) write (0,*) 'sum(Interstitial%wcbmax ) = ', sum(Interstitial%wcbmax ) write (0,*) 'sum(Interstitial%weasd_ice ) = ', sum(Interstitial%weasd_ice ) write (0,*) 'sum(Interstitial%weasd_land ) = ', sum(Interstitial%weasd_land ) - write (0,*) 'sum(Interstitial%weasd_ocean ) = ', sum(Interstitial%weasd_ocean ) + write (0,*) 'sum(Interstitial%weasd_water ) = ', sum(Interstitial%weasd_water ) write (0,*) 'sum(Interstitial%wind ) = ', sum(Interstitial%wind ) write (0,*) 'sum(Interstitial%work1 ) = ', sum(Interstitial%work1 ) write (0,*) 'sum(Interstitial%work2 ) = ', sum(Interstitial%work2 ) @@ -7517,9 +7508,6 @@ subroutine interstitial_print(Interstitial, Model, mpirank, omprank, blkno) write (0,*) 'sum(Interstitial%xlai1d ) = ', sum(Interstitial%xlai1d ) write (0,*) 'sum(Interstitial%xmu ) = ', sum(Interstitial%xmu ) write (0,*) 'sum(Interstitial%z01d ) = ', sum(Interstitial%z01d ) - write (0,*) 'sum(Interstitial%zorl_ice ) = ', sum(Interstitial%zorl_ice ) - write (0,*) 'sum(Interstitial%zorl_land ) = ', sum(Interstitial%zorl_land ) - write (0,*) 'sum(Interstitial%zorl_ocean ) = ', sum(Interstitial%zorl_ocean ) write (0,*) 'sum(Interstitial%zt1d ) = ', sum(Interstitial%zt1d ) ! UGWP common diff --git a/ccpp/data/GFS_typedefs.meta b/ccpp/data/GFS_typedefs.meta index 6e5066aeb4..2abd5a7ab3 100644 --- a/ccpp/data/GFS_typedefs.meta +++ b/ccpp/data/GFS_typedefs.meta @@ -543,9 +543,9 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys -[zorlo] - standard_name = surface_roughness_length_over_ocean - long_name = surface roughness length over ocean +[zorlw] + standard_name = surface_roughness_length_over_water + long_name = surface roughness length over water units = cm dimensions = (horizontal_loop_extent) type = real @@ -564,7 +564,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys -[zorlw] +[zorlwav] standard_name = surface_roughness_length_from_wave_model long_name = surface roughness length from wave model units = cm @@ -3979,8 +3979,8 @@ type = real kind = kind_phys [betas_deep] - standard_name = downdraft_fraction_reaching_surface_over_ocean_deep_convection - long_name = downdraft fraction reaching surface over ocean for deep convection + standard_name = downdraft_fraction_reaching_surface_over_water_deep_convection + long_name = downdraft fraction reaching surface over water for deep convection units = frac dimensions = () type = real @@ -4121,8 +4121,8 @@ type = real kind = kind_phys [sfc_z0_type] - standard_name = flag_for_surface_roughness_option_over_ocean - long_name = surface roughness options over ocean + standard_name = flag_for_surface_roughness_option_over_water + long_name = surface roughness options over water units = flag dimensions = () type = integer @@ -4950,8 +4950,8 @@ type = real kind = kind_phys [coef_ric_s] - standard_name = coefficient_for_variable_bulk_richardson_number_over_ocean - long_name = coefficient for calculating variable bulk richardson number for hurricane PBL over ocean + standard_name = coefficient_for_variable_bulk_richardson_number_over_water + long_name = coefficient for calculating variable bulk richardson number for hurricane PBL over water units = none dimensions = () type = real @@ -7500,9 +7500,9 @@ type = real kind = kind_phys active = (flag_for_microphysics_scheme == flag_for_fer_hires_microphysics_scheme) -[adjsfculw_ocean] - standard_name = surface_upwelling_longwave_flux_over_ocean_interstitial - long_name = surface upwelling longwave flux at current time over ocean (temporary use as interstitial) +[adjsfculw_water] + standard_name = surface_upwelling_longwave_flux_over_water_interstitial + long_name = surface upwelling longwave flux at current time over water (temporary use as interstitial) units = W m-2 dimensions = (horizontal_loop_extent) type = real @@ -7620,9 +7620,9 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys -[cd_ocean] - standard_name = surface_drag_coefficient_for_momentum_in_air_over_ocean - long_name = surface exchange coeff for momentum over ocean +[cd_water] + standard_name = surface_drag_coefficient_for_momentum_in_air_over_water + long_name = surface exchange coeff for momentum over water units = none dimensions = (horizontal_loop_extent) type = real @@ -7648,9 +7648,9 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys -[cdq_ocean] - standard_name = surface_drag_coefficient_for_heat_and_moisture_in_air_over_ocean - long_name = surface exchange coeff heat & moisture over ocean +[cdq_water] + standard_name = surface_drag_coefficient_for_heat_and_moisture_in_air_over_water + long_name = surface exchange coeff heat surface exchange coeff heat & moisture over ocean moisture over water units = none dimensions = (horizontal_loop_extent) type = real @@ -7669,9 +7669,9 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys -[chh_ocean] - standard_name = surface_drag_mass_flux_for_heat_and_moisture_in_air_over_ocean - long_name = thermal exchange coefficient over ocean +[chh_water] + standard_name = surface_drag_mass_flux_for_heat_and_moisture_in_air_over_water + long_name = thermal exchange coefficient over water units = kg m-2 s-1 dimensions = (horizontal_loop_extent) type = real @@ -7863,9 +7863,9 @@ type = real kind = kind_phys active = (gwd_opt == 3 .or. gwd_opt == 33) -[cmm_ocean] - standard_name = surface_drag_wind_speed_for_momentum_in_air_over_ocean - long_name = momentum exchange coefficient over ocean +[cmm_water] + standard_name = surface_drag_wind_speed_for_momentum_in_air_over_water + long_name = momentum exchange coefficient over water units = m s-1 dimensions = (horizontal_loop_extent) type = real @@ -8223,9 +8223,9 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys -[semis_ocean] - standard_name = surface_longwave_emissivity_over_ocean_interstitial - long_name = surface lw emissivity in fraction over ocean (temporary use as interstitial) +[semis_water] + standard_name = surface_longwave_emissivity_over_water_interstitial + long_name = surface lw emissivity in fraction over water (temporary use as interstitial) units = frac dimensions = (horizontal_loop_extent) type = real @@ -8251,9 +8251,9 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys -[ep1d_ocean] - standard_name = surface_upward_potential_latent_heat_flux_over_ocean - long_name = surface upward potential latent heat flux over ocean +[ep1d_water] + standard_name = surface_upward_potential_latent_heat_flux_over_water + long_name = surface upward potential latent heat flux over water units = W m-2 dimensions = (horizontal_loop_extent) type = real @@ -8279,9 +8279,9 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys -[evap_ocean] - standard_name = kinematic_surface_upward_latent_heat_flux_over_ocean - long_name = kinematic surface upward latent heat flux over ocean +[evap_water] + standard_name = kinematic_surface_upward_latent_heat_flux_over_water + long_name = kinematic surface upward latent heat flux over water units = kg kg-1 m s-1 dimensions = (horizontal_loop_extent) type = real @@ -8370,9 +8370,9 @@ dimensions = (horizontal_loop_extent,adjusted_vertical_layer_dimension_for_radiation,number_of_aerosol_bands_for_shortwave_radiation) type = real kind = kind_phys -[ffhh_ocean] - standard_name = Monin_Obukhov_similarity_function_for_heat_over_ocean - long_name = Monin-Obukhov similarity function for heat over ocean +[ffhh_water] + standard_name = Monin_Obukhov_similarity_function_for_heat_over_water + long_name = Monin-Obukhov similarity function for heat over water units = none dimensions = (horizontal_loop_extent) type = real @@ -8398,9 +8398,9 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys -[fh2_ocean] - standard_name = Monin_Obukhov_similarity_function_for_heat_at_2m_over_ocean - long_name = Monin-Obukhov similarity parameter for heat at 2m over ocean +[fh2_water] + standard_name = Monin_Obukhov_similarity_function_for_heat_at_2m_over_water + long_name = Monin-Obukhov similarity parameter for heat at 2m over water units = none dimensions = (horizontal_loop_extent) type = real @@ -8451,9 +8451,9 @@ dimensions = (horizontal_loop_extent) type = logical active = (flag_for_land_surface_scheme == flag_for_noah_wrfv4_land_surface_scheme) -[ffmm_ocean] - standard_name = Monin_Obukhov_similarity_function_for_momentum_over_ocean - long_name = Monin-Obukhov similarity function for momentum over ocean +[ffmm_water] + standard_name = Monin_Obukhov_similarity_function_for_momentum_over_water + long_name = Monin-Obukhov similarity function for momentum over water units = none dimensions = (horizontal_loop_extent) type = real @@ -8479,9 +8479,9 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys -[fm10_ocean] - standard_name = Monin_Obukhov_similarity_function_for_momentum_at_10m_over_ocean - long_name = Monin-Obukhov similarity parameter for momentum at 10m over ocean +[fm10_water] + standard_name = Monin_Obukhov_similarity_function_for_momentum_at_10m_over_water + long_name = Monin-Obukhov similarity parameter for momentum at 10m over water units = none dimensions = (horizontal_loop_extent) type = real @@ -8535,9 +8535,9 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys -[gabsbdlw_ocean] - standard_name = surface_downwelling_longwave_flux_absorbed_by_ground_over_ocean - long_name = total sky surface downward longwave flux absorbed by the ground over ocean +[gabsbdlw_water] + standard_name = surface_downwelling_longwave_flux_absorbed_by_ground_over_water + long_name = total sky surface downward longwave flux absorbed by the ground over water units = W m-2 dimensions = (horizontal_loop_extent) type = real @@ -8654,9 +8654,9 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys -[gflx_ocean] - standard_name = upward_heat_flux_in_soil_over_ocean - long_name = soil heat flux over ocean +[gflx_water] + standard_name = upward_heat_flux_in_soil_over_water + long_name = soil heat flux over water units = W m-2 dimensions = (horizontal_loop_extent) type = real @@ -8718,9 +8718,9 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys -[hflx_ocean] - standard_name = kinematic_surface_upward_sensible_heat_flux_over_ocean - long_name = kinematic surface upward sensible heat flux over ocean +[hflx_water] + standard_name = kinematic_surface_upward_sensible_heat_flux_over_water + long_name = kinematic surface upward sensible heat flux over water units = K m s-1 dimensions = (horizontal_loop_extent) type = real @@ -9201,9 +9201,9 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys -[qss_ocean] - standard_name = surface_specific_humidity_over_ocean - long_name = surface air saturation specific humidity over ocean +[qss_water] + standard_name = surface_specific_humidity_over_water + long_name = surface air saturation specific humidity over water units = kg kg-1 dimensions = (horizontal_loop_extent) type = real @@ -9294,9 +9294,9 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys -[rb_ocean] - standard_name = bulk_richardson_number_at_lowest_model_level_over_ocean - long_name = bulk Richardson number at the surface over ocean +[rb_water] + standard_name = bulk_richardson_number_at_lowest_model_level_over_water + long_name = bulk Richardson number at the surface over water units = none dimensions = (horizontal_loop_extent) type = real @@ -9525,9 +9525,9 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys -[snowd_ocean] - standard_name = surface_snow_thickness_water_equivalent_over_ocean - long_name = water equivalent snow depth over ocean +[snowd_water] + standard_name = surface_snow_thickness_water_equivalent_over_water + long_name = water equivalent snow depth over water units = mm dimensions = (horizontal_loop_extent) type = real @@ -9637,9 +9637,9 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys -[stress_ocean] - standard_name = surface_wind_stress_over_ocean - long_name = surface wind stress over ocean +[stress_water] + standard_name = surface_wind_stress_over_water + long_name = surface wind stress over water units = m2 s-2 dimensions = (horizontal_loop_extent) type = real @@ -9702,9 +9702,9 @@ dimensions = (horizontal_loop_extent,adjusted_vertical_layer_dimension_for_radiation) type = real kind = kind_phys -[tprcp_ocean] - standard_name = nonnegative_lwe_thickness_of_precipitation_amount_on_dynamics_timestep_over_ocean - long_name = total precipitation amount in each time step over ocean +[tprcp_water] + standard_name = nonnegative_lwe_thickness_of_precipitation_amount_on_dynamics_timestep_over_water + long_name = total precipitation amount in each time step over water units = m dimensions = (horizontal_loop_extent) type = real @@ -9770,9 +9770,9 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys -[tsfc_ocean] - standard_name = surface_skin_temperature_over_ocean_interstitial - long_name = surface skin temperature over ocean (temporary use as interstitial) +[tsfc_water] + standard_name = surface_skin_temperature_over_water_interstitial + long_name = surface skin temperature over water (temporary use as interstitial) units = K dimensions = (horizontal_loop_extent) type = real @@ -9813,9 +9813,9 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys -[tsurf_ocean] - standard_name = surface_skin_temperature_after_iteration_over_ocean - long_name = surface skin temperature after iteration over ocean +[tsurf_water] + standard_name = surface_skin_temperature_after_iteration_over_water + long_name = surface skin temperature after iteration over water units = K dimensions = (horizontal_loop_extent) type = real @@ -9847,9 +9847,9 @@ dimensions = (horizontal_loop_extent,vertical_dimension) type = real kind = kind_phys -[uustar_ocean] - standard_name = surface_friction_velocity_over_ocean - long_name = surface friction velocity over ocean +[uustar_water] + standard_name = surface_friction_velocity_over_water + long_name = surface friction velocity over water units = m s-1 dimensions = (horizontal_loop_extent) type = real @@ -9910,9 +9910,9 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys -[weasd_ocean] - standard_name = water_equivalent_accumulated_snow_depth_over_ocean - long_name = water equiv of acc snow depth over ocean +[weasd_water] + standard_name = water_equivalent_accumulated_snow_depth_over_water + long_name = water equiv of acc snow depth over water units = mm dimensions = (horizontal_loop_extent) type = real @@ -9995,27 +9995,6 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys -[zorl_ocean] - standard_name = surface_roughness_length_over_ocean_interstitial - long_name = surface roughness length over ocean (temporary use as interstitial) - units = cm - dimensions = (horizontal_loop_extent) - type = real - kind = kind_phys -[zorl_land] - standard_name = surface_roughness_length_over_land_interstitial - long_name = surface roughness length over land (temporary use as interstitial) - units = cm - dimensions = (horizontal_loop_extent) - type = real - kind = kind_phys -[zorl_ice] - standard_name = surface_roughness_length_over_ice_interstitial - long_name = surface roughness length over ice (temporary use as interstitial) - units = cm - dimensions = (horizontal_loop_extent) - type = real - kind = kind_phys [zt1d] standard_name = perturbation_of_heat_to_momentum_roughness_length_ratio long_name = perturbation of heat to momentum roughness length ratio diff --git a/ccpp/physics b/ccpp/physics index 990b9d0416..26aa3d62ba 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 990b9d0416e340e40e4b136561a85f63d46671e2 +Subproject commit 26aa3d62ba981553a9c8d86afadfa716ad16a960 diff --git a/io/FV3GFS_io.F90 b/io/FV3GFS_io.F90 index 439c5816c2..7050ca2d5a 100644 --- a/io/FV3GFS_io.F90 +++ b/io/FV3GFS_io.F90 @@ -754,7 +754,7 @@ subroutine sfc_prop_restart_read (Sfcprop, Atm_block, Model, fv_domain, warm_sta sfc_name2(35) = 'zorli' !zorl on land portion of a cell ! endif if(Model%cplwav) then - sfc_name2(nvar_s2m) = 'zorlw' !zorl on land portion of a cell + sfc_name2(nvar_s2m) = 'zorlwav' !zorl on land portion of a cell endif !--- NSSTM inputs only needed when (nstf_name(1) > 0) .and. (nstf_name(2)) == 0) @@ -836,7 +836,7 @@ subroutine sfc_prop_restart_read (Sfcprop, Atm_block, Model, fv_domain, warm_sta do num = 1,nvar_s2m var2_p => sfc_var2(:,:,num) if (trim(sfc_name2(num)) == 'sncovr'.or. trim(sfc_name2(num)) == 'tsfcl' .or. trim(sfc_name2(num)) == 'zorll' & - .or. trim(sfc_name2(num)) == 'zorli' .or. trim(sfc_name2(num)) == 'zorlw') then + .or. trim(sfc_name2(num)) == 'zorli' .or. trim(sfc_name2(num)) == 'zorlwav') then id_restart = register_restart_field(Sfc_restart, fn_srf, sfc_name2(num), var2_p, domain=fv_domain, mandatory=.false.) else id_restart = register_restart_field(Sfc_restart, fn_srf, sfc_name2(num), var2_p, domain=fv_domain) @@ -955,7 +955,7 @@ subroutine sfc_prop_restart_read (Sfcprop, Atm_block, Model, fv_domain, warm_sta Sfcprop(nb)%tsfco(ix) = sfc_var2(i,j,2) !--- tsfc (tsea in sfc file) Sfcprop(nb)%weasd(ix) = sfc_var2(i,j,3) !--- weasd (sheleg in sfc file) Sfcprop(nb)%tg3(ix) = sfc_var2(i,j,4) !--- tg3 - Sfcprop(nb)%zorlo(ix) = sfc_var2(i,j,5) !--- zorl on ocean + Sfcprop(nb)%zorlw(ix) = sfc_var2(i,j,5) !--- zorl on water Sfcprop(nb)%alvsf(ix) = sfc_var2(i,j,6) !--- alvsf Sfcprop(nb)%alvwf(ix) = sfc_var2(i,j,7) !--- alvwf Sfcprop(nb)%alnsf(ix) = sfc_var2(i,j,8) !--- alnsf @@ -989,13 +989,13 @@ subroutine sfc_prop_restart_read (Sfcprop, Atm_block, Model, fv_domain, warm_sta Sfcprop(nb)%zorli(ix) = sfc_var2(i,j,35) !--- zorll (zorl on ice portion of a cell) ! else ! Sfcprop(nb)%tsfcl(ix) = Sfcprop(nb)%tsfco(ix) -! Sfcprop(nb)%zorll(ix) = Sfcprop(nb)%zorlo(ix) -! Sfcprop(nb)%zorli(ix) = Sfcprop(nb)%zorlo(ix) +! Sfcprop(nb)%zorll(ix) = Sfcprop(nb)%zorlw(ix) +! Sfcprop(nb)%zorli(ix) = Sfcprop(nb)%zorlw(ix) ! endif if(Model%cplwav) then - Sfcprop(nb)%zorlw(ix) = sfc_var2(i,j,nvar_s2m) !--- (zorw from wave model) + Sfcprop(nb)%zorlwav(ix) = sfc_var2(i,j,nvar_s2m) !--- (zorw from wave model) else - Sfcprop(nb)%zorlw(ix) = Sfcprop(nb)%zorlo(ix) + Sfcprop(nb)%zorlwav(ix) = Sfcprop(nb)%zorlw(ix) endif if(Model%frac_grid) then ! obtain slmsk from landfrac @@ -1216,7 +1216,7 @@ subroutine sfc_prop_restart_read (Sfcprop, Atm_block, Model, fv_domain, warm_sta !$omp parallel do default(shared) private(nb, ix) do nb = 1, Atm_block%nblks do ix = 1, Atm_block%blksz(nb) - Sfcprop(nb)%zorll(ix) = Sfcprop(nb)%zorlo(ix) !--- compute zorll from existing variables + Sfcprop(nb)%zorll(ix) = Sfcprop(nb)%zorlw(ix) !--- compute zorll from existing variables enddo enddo endif @@ -1226,17 +1226,17 @@ subroutine sfc_prop_restart_read (Sfcprop, Atm_block, Model, fv_domain, warm_sta !$omp parallel do default(shared) private(nb, ix) do nb = 1, Atm_block%nblks do ix = 1, Atm_block%blksz(nb) - Sfcprop(nb)%zorli(ix) = Sfcprop(nb)%zorlo(ix) !--- compute zorli from existing variables + Sfcprop(nb)%zorli(ix) = Sfcprop(nb)%zorlw(ix) !--- compute zorli from existing variables enddo enddo endif if (sfc_var2(i,j,nvar_s2m) < -9990.0_r8) then - if (Model%me == Model%master ) call mpp_error(NOTE, 'gfs_driver::surface_props_input - computing zorlw') + if (Model%me == Model%master ) call mpp_error(NOTE, 'gfs_driver::surface_props_input - computing zorlwav') !$omp parallel do default(shared) private(nb, ix) do nb = 1, Atm_block%nblks do ix = 1, Atm_block%blksz(nb) - Sfcprop(nb)%zorlw(ix) = Sfcprop(nb)%zorlo(ix) !--- compute zorlw from existing variables + Sfcprop(nb)%zorlwav(ix) = Sfcprop(nb)%zorlw(ix) !--- compute zorlwav from existing variables enddo enddo endif @@ -1250,7 +1250,7 @@ subroutine sfc_prop_restart_read (Sfcprop, Atm_block, Model, fv_domain, warm_sta tem = tem1 * Sfcprop(nb)%fice(ix) ! tem = ice fraction wrt whole cell Sfcprop(nb)%zorl(ix) = Sfcprop(nb)%zorll(ix) * Sfcprop(nb)%landfrac(ix) & + Sfcprop(nb)%zorli(ix) * tem & - + Sfcprop(nb)%zorlo(ix) * (tem1-tem) + + Sfcprop(nb)%zorlw(ix) * (tem1-tem) Sfcprop(nb)%tsfc(ix) = Sfcprop(nb)%tsfcl(ix) * Sfcprop(nb)%landfrac(ix) & + Sfcprop(nb)%tisfc(ix) * tem & @@ -1262,18 +1262,18 @@ subroutine sfc_prop_restart_read (Sfcprop, Atm_block, Model, fv_domain, warm_sta !$omp parallel do default(shared) private(nb, ix, tem) do nb = 1, Atm_block%nblks do ix = 1, Atm_block%blksz(nb) - !--- specify tsfcl/zorll/zorli from existing variable tsfco/zorlo + !--- specify tsfcl/zorll/zorli from existing variable tsfco/zorlw ! Sfcprop(nb)%tsfcl(ix) = Sfcprop(nb)%tsfco(ix) -! Sfcprop(nb)%zorll(ix) = Sfcprop(nb)%zorlo(ix) -! Sfcprop(nb)%zorli(ix) = Sfcprop(nb)%zorlo(ix) -! Sfcprop(nb)%zorl(ix) = Sfcprop(nb)%zorlo(ix) +! Sfcprop(nb)%zorll(ix) = Sfcprop(nb)%zorlw(ix) +! Sfcprop(nb)%zorli(ix) = Sfcprop(nb)%zorlw(ix) +! Sfcprop(nb)%zorl(ix) = Sfcprop(nb)%zorlw(ix) if (Sfcprop(nb)%slmsk(ix) == 1) then Sfcprop(nb)%zorl(ix) = Sfcprop(nb)%zorll(ix) Sfcprop(nb)%tsfc(ix) = Sfcprop(nb)%tsfcl(ix) else tem = one - Sfcprop(nb)%fice(ix) Sfcprop(nb)%zorl(ix) = Sfcprop(nb)%zorli(ix) * Sfcprop(nb)%fice(ix) & - + Sfcprop(nb)%zorlo(ix) * tem + + Sfcprop(nb)%zorlw(ix) * tem Sfcprop(nb)%tsfc(ix) = Sfcprop(nb)%tisfc(ix) * Sfcprop(nb)%fice(ix) & + Sfcprop(nb)%tsfco(ix) * tem endif @@ -1283,7 +1283,7 @@ subroutine sfc_prop_restart_read (Sfcprop, Atm_block, Model, fv_domain, warm_sta !$omp parallel do default(shared) private(nb, ix, tem) do nb = 1, Atm_block%nblks do ix = 1, Atm_block%blksz(nb) - !--- specify tsfcl/zorll/zorli from existing variable tsfco/zorlo + !--- specify tsfcl/zorll/zorli from existing variable tsfco/zorlw Sfcprop(nb)%tsfc(ix) = Sfcprop(nb)%tsfco(ix) if (Sfcprop(nb)%slmsk(ix) == 1) then Sfcprop(nb)%zorl(ix) = Sfcprop(nb)%zorll(ix) @@ -1291,7 +1291,7 @@ subroutine sfc_prop_restart_read (Sfcprop, Atm_block, Model, fv_domain, warm_sta else tem = one - Sfcprop(nb)%fice(ix) Sfcprop(nb)%zorl(ix) = Sfcprop(nb)%zorli(ix) * Sfcprop(nb)%fice(ix) & - + Sfcprop(nb)%zorlo(ix) * tem + + Sfcprop(nb)%zorlw(ix) * tem if (Sfcprop(nb)%fice(ix) > min(Model%min_seaice,Model%min_lakeice)) then Sfcprop(nb)%tsfc(ix) = Sfcprop(nb)%tsfcl(ix) endif @@ -1457,7 +1457,7 @@ subroutine sfc_prop_restart_write (Sfcprop, Atm_block, Model, fv_domain, timesta sfc_name2(35) = 'zorli' !zorl on land portion of a cell ! endif if (Model%cplwav) then - sfc_name2(nvar2m) = 'zorlw' !zorl on land portion of a cell + sfc_name2(nvar2m) = 'zorlwav' !zorl on land portion of a cell endif !--- NSSTM inputs only needed when (nstf_name(1) > 0) .and. (nstf_name(2)) == 0) sfc_name2(nvar2m+1) = 'tref' @@ -1529,7 +1529,7 @@ subroutine sfc_prop_restart_write (Sfcprop, Atm_block, Model, fv_domain, timesta do num = 1,nvar2m var2_p => sfc_var2(:,:,num) if (trim(sfc_name2(num)) == 'sncovr'.or.trim(sfc_name2(num)) == 'tsfcl'.or.trim(sfc_name2(num)) == 'zorll' & - .or.trim(sfc_name2(num)) == 'zorli' .or.trim(sfc_name2(num)) == 'zorlw') then + .or.trim(sfc_name2(num)) == 'zorli' .or.trim(sfc_name2(num)) == 'zorlwav') then id_restart = register_restart_field(Sfc_restart, fn_srf, sfc_name2(num), var2_p, domain=fv_domain, mandatory=.false.) else id_restart = register_restart_field(Sfc_restart, fn_srf, sfc_name2(num), var2_p, domain=fv_domain) @@ -1621,7 +1621,7 @@ subroutine sfc_prop_restart_write (Sfcprop, Atm_block, Model, fv_domain, timesta sfc_var2(i,j,1) = Sfcprop(nb)%slmsk(ix) !--- slmsk ! if (Model%frac_grid) then sfc_var2(i,j,2) = Sfcprop(nb)%tsfco(ix) !--- tsfc (tsea in sfc file) - sfc_var2(i,j,5) = Sfcprop(nb)%zorlo(ix) !--- zorlo + sfc_var2(i,j,5) = Sfcprop(nb)%zorlw(ix) !--- zorlw ! else ! sfc_var2(i,j,2) = Sfcprop(nb)%tsfc(ix) !--- tsfc (tsea in sfc file) ! sfc_var2(i,j,5) = Sfcprop(nb)%zorl(ix) !--- zorl @@ -1662,7 +1662,7 @@ subroutine sfc_prop_restart_write (Sfcprop, Atm_block, Model, fv_domain, timesta sfc_var2(i,j,35) = Sfcprop(nb)%zorli(ix) !--- zorli (zorl on ice) ! endif if (Model%cplwav) then - sfc_var2(i,j,nvar2m) = Sfcprop(nb)%zorlw(ix) !--- zorlw (zorl from wav) + sfc_var2(i,j,nvar2m) = Sfcprop(nb)%zorlwav(ix) !--- zorlwav (zorl from wav) endif !--- NSSTM variables if (Model%nstf_name(1) > 0) then