diff --git a/ESM/coupling_esmf.in b/ESM/coupling_esmf.in index 09180536..98e545d3 100644 --- a/ESM/coupling_esmf.in +++ b/ESM/coupling_esmf.in @@ -253,6 +253,7 @@ WeightsFile(atmos) = meld_weights_atm.nc ! Ustr atmos roms, cice surface U-momentum stress ! Vstr atmos roms, cice surface V-momentum stress ! Wstar atmos roms turbulent frictional wind magnitude +! pblh atmos roms atmosphere boundary layer thickness ! ! zlvl atmos cice atmspheric height lowest level ! rhoa atmos cice surface air density diff --git a/ESM/coupling_esmf.yaml b/ESM/coupling_esmf.yaml index 122f45f5..1f3395da 100644 --- a/ESM/coupling_esmf.yaml +++ b/ESM/coupling_esmf.yaml @@ -349,3 +349,18 @@ metadata: connected_to: *ATM regrid_method: bilinear extrapolate_method: nearest + + - standard_name: atmosphere_boundary_layer_thickness + long_name: atmosphere boundary layer thickness + short_name: pblh + data_variables: [pblh, time] + source_units: m + destination_units: m + source_grid: cell_center + destination_grid: cell_center + add_offset: 0.0d0 + scale: 1.0d0 + debug_write: false + connected_to: *ATM + regrid_method: bilinear + extrapolate_method: nearest diff --git a/ESM/coupling_esmf_wrf.yaml b/ESM/coupling_esmf_wrf.yaml index b60ba12d..17d5d98c 100644 --- a/ESM/coupling_esmf_wrf.yaml +++ b/ESM/coupling_esmf_wrf.yaml @@ -469,3 +469,18 @@ metadata: connected_to: *ATM regrid_method: bilinear extrapolate_method: nearest + + - standard_name: atmosphere_boundary_layer_thickness + long_name: atmosphere boundary layer thickness + short_name: pblh + data_variables: [pblh, time] + source_units: m + destination_units: m + source_grid: cell_center + destination_grid: cell_center + add_offset: 0.0d0 + scale: 1.0d0 + debug_write: false + connected_to: *ATM + regrid_method: bilinear + extrapolate_method: nearest diff --git a/ESM/roms_cmeps.yaml b/ESM/roms_cmeps.yaml index ddd14755..45a4b096 100644 --- a/ESM/roms_cmeps.yaml +++ b/ESM/roms_cmeps.yaml @@ -431,3 +431,18 @@ import: connected_to: *ATM map_type: mapbilnr map_norm: none + + - standard_name: atmosphere_boundary_layer_thickness + long_name: atmosphere boundary layer thickness + short_name: pblh + data_variables: [pblh, time] + source_units: m + destination_units: m + source_grid: cell_center + destination_grid: cell_center + add_offset: 0.0d0 + scale: 1.0d0 + debug_write: false + connected_to: *ATM + map_type: mapbilnr + map_norm: none diff --git a/Master/cmeps_roms.h b/Master/cmeps_roms.h index a72d26bd..df86f102 100644 --- a/Master/cmeps_roms.h +++ b/Master/cmeps_roms.h @@ -126,9 +126,9 @@ USE mod_iounits, ONLY : Iname, SourceFile, stdout USE mod_mixing, ONLY : MIXING USE mod_ncparam, ONLY : Iinfo, idLdwn, idLrad, idPair, & - & idQair, idrain, idSrad, idTair, & - & idTsur, idUair, idUsms, idVair, & - & idVsms + & idPBLh, idQair, idrain, idSrad, & + & idTair, idTsur, idUair, idUsms, & + & idVair, idVsms # ifdef TIME_INTERP USE mod_netcdf, ONLY : netcdf_get_ivar, & & netcdf_get_svar, & @@ -5538,6 +5538,42 @@ & Vstress) END IF # endif +# if defined BULK_FLUXES & defined PBLH +! +! Atmosphere boundary layer thickness (m). +! + CASE ('pblh', 'PBLh') + romsScale=scale + ifield=idPBLh + gtype=r2dvar + Tindex=3-Iinfo(8,ifield,ng) + DO j=JstrR,JendR + DO i=IstrR,IendR + IF (ABS(ptr2d(i,j)).lt.TOL_dp) THEN + Fval=scale*ptr2d(i,j)+add_offset + ELSE + Fval=0.0_dp + END IF + MyFmin(1)=MIN(MyFmin(1),ptr2d(i,j)) + MyFmax(1)=MAX(MyFmax(1),ptr2d(i,j)) + MyFmin(2)=MIN(MyFmin(2),Fval) + MyFmax(2)=MAX(MyFmax(2),Fval) + FORCES(ng)%PBLh(i,j)=Fval + END DO + END DO + IF (localDE.eq.localDEcount-1) THEN + IF (EWperiodic(ng).or.NSperiodic(ng)) THEN + CALL exchange_r2d_tile (ng, tile, & + & LBi, UBi, LBj, UBj, & + & FORCES(ng)%PBLh) + END IF + CALL mp_exchange2d (ng, tile, iNLM, 1, & + & LBi, UBi, LBj, UBj, & + & NghostPoints, & + & EWperiodic(ng), NSperiodic(ng), & + & FORCES(ng)%PBLh) + END IF +# endif # if defined WIND_MINUS_CURRENT && !defined BULK_FLUXES ! ! Surface air density (kg/m3). diff --git a/Master/esmf_atm_wrf.h b/Master/esmf_atm_wrf.h index 29924ae6..d23cc4d5 100644 --- a/Master/esmf_atm_wrf.h +++ b/Master/esmf_atm_wrf.h @@ -4580,6 +4580,27 @@ ptr2d(i,j)=Fval END DO END DO +# if defined BULK_FLUXES & defined PBLH +! +! Atmosphere boundary layer thickness (m). +! + CASE ('pblh', 'PBLh') + MyFmin(1)= MISSING_dp + MyFmax(1)=-MISSING_dp + DO j=Jstr,Jend + DO i=Istr,Iend +# ifdef WRF_TIMEAVG +! Fval=REAL(grid%pblhavg(i,j),dp) + Fval=REAL(grid%pblh(i,j),dp) +# else + Fval=REAL(grid%pblh(i,j),dp) +# endif + MyFmin(1)=MIN(MyFmin(1),Fval) + MyFmax(1)=MAX(MyFmax(1),Fval) + ptr2d(i,j)=Fval + END DO + END DO +# endif ! ! Surface (2m) air temperature (K). ! diff --git a/Master/esmf_roms.h b/Master/esmf_roms.h index 80667574..5a6bf885 100644 --- a/Master/esmf_roms.h +++ b/Master/esmf_roms.h @@ -108,9 +108,9 @@ USE mod_iounits, ONLY : Iname, SourceFile, stdout USE mod_mixing, ONLY : MIXING USE mod_ncparam, ONLY : Iinfo, idLdwn, idLrad, idPair, & - & idQair, idrain, idSrad, idTair, & - & idTsur, idUair, idUsms, idVair, & - & idVsms + & idPBLh, idQair, idrain, idSrad, & + & idTair, idTsur, idUair, idUsms, & + & idVair, idVsms # ifdef TIME_INTERP USE mod_netcdf, ONLY : netcdf_get_ivar, & & netcdf_get_svar, & @@ -3934,6 +3934,42 @@ & Vstress) END IF # endif +# if defined BULK_FLUXES & defined PBLH +! +! Atmosphere boundary layer thickness (m). +! + CASE ('pblh', 'PBLh') + romsScale=scale + ifield=idPBLh + gtype=r2dvar + Tindex=3-Iinfo(8,ifield,ng) + DO j=JstrR,JendR + DO i=IstrR,IendR + IF (ABS(ptr2d(i,j)).lt.TOL_dp) THEN + Fval=scale*ptr2d(i,j)+add_offset + ELSE + Fval=0.0_dp + END IF + MyFmin(1)=MIN(MyFmin(1),ptr2d(i,j)) + MyFmax(1)=MAX(MyFmax(1),ptr2d(i,j)) + MyFmin(2)=MIN(MyFmin(2),Fval) + MyFmax(2)=MAX(MyFmax(2),Fval) + FORCES(ng)%PBLh(i,j)=Fval + END DO + END DO + IF (localDE.eq.localDEcount-1) THEN + IF (EWperiodic(ng).or.NSperiodic(ng)) THEN + CALL exchange_r2d_tile (ng, tile, & + & LBi, UBi, LBj, UBj, & + & FORCES(ng)%PBLh) + END IF + CALL mp_exchange2d (ng, tile, iNLM, 1, & + & LBi, UBi, LBj, UBj, & + & NghostPoints, & + & EWperiodic(ng), NSperiodic(ng), & + & FORCES(ng)%PBLh) + END IF +# endif # if defined WIND_MINUS_CURRENT && !defined BULK_FLUXES ! ! Surface air density (kg/m3). diff --git a/ROMS/External/da_roms.tmp b/ROMS/External/da_roms.tmp index 5acfe250..5baadf95 100644 --- a/ROMS/External/da_roms.tmp +++ b/ROMS/External/da_roms.tmp @@ -767,6 +767,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2886,6 +2887,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/ROMS/External/nl_roms.tmp b/ROMS/External/nl_roms.tmp index 8937121d..083a6d7d 100644 --- a/ROMS/External/nl_roms.tmp +++ b/ROMS/External/nl_roms.tmp @@ -767,6 +767,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2886,6 +2887,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/ROMS/External/roms_basin.in b/ROMS/External/roms_basin.in index ce582f80..0639c73a 100644 --- a/ROMS/External/roms_basin.in +++ b/ROMS/External/roms_basin.in @@ -766,6 +766,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2885,6 +2886,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/ROMS/External/roms_benchmark1.in b/ROMS/External/roms_benchmark1.in index 8731f45e..e9ab73d3 100644 --- a/ROMS/External/roms_benchmark1.in +++ b/ROMS/External/roms_benchmark1.in @@ -768,6 +768,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2887,6 +2888,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/ROMS/External/roms_benchmark2.in b/ROMS/External/roms_benchmark2.in index 2563a797..a1771009 100644 --- a/ROMS/External/roms_benchmark2.in +++ b/ROMS/External/roms_benchmark2.in @@ -768,6 +768,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2887,6 +2888,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/ROMS/External/roms_benchmark3.in b/ROMS/External/roms_benchmark3.in index 315d5c3a..f4fb021c 100644 --- a/ROMS/External/roms_benchmark3.in +++ b/ROMS/External/roms_benchmark3.in @@ -768,6 +768,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2887,6 +2888,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/ROMS/External/roms_bio_toy.in b/ROMS/External/roms_bio_toy.in index 76b2dbe1..3f4a05da 100644 --- a/ROMS/External/roms_bio_toy.in +++ b/ROMS/External/roms_bio_toy.in @@ -768,6 +768,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2894,6 +2895,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/ROMS/External/roms_bl_test.in b/ROMS/External/roms_bl_test.in index d45dfa40..58defdc3 100644 --- a/ROMS/External/roms_bl_test.in +++ b/ROMS/External/roms_bl_test.in @@ -768,6 +768,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2887,6 +2888,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/ROMS/External/roms_canyon2d.in b/ROMS/External/roms_canyon2d.in index dd8093f2..4710bbf7 100644 --- a/ROMS/External/roms_canyon2d.in +++ b/ROMS/External/roms_canyon2d.in @@ -768,6 +768,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2887,6 +2888,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/ROMS/External/roms_canyon3d.in b/ROMS/External/roms_canyon3d.in index 52cb5dfe..3e7c85b7 100644 --- a/ROMS/External/roms_canyon3d.in +++ b/ROMS/External/roms_canyon3d.in @@ -768,6 +768,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2887,6 +2888,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/ROMS/External/roms_channel.in b/ROMS/External/roms_channel.in index 99dfed1d..d304ddd3 100644 --- a/ROMS/External/roms_channel.in +++ b/ROMS/External/roms_channel.in @@ -768,6 +768,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2887,6 +2888,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/ROMS/External/roms_damee_4.in b/ROMS/External/roms_damee_4.in index 58e55a4d..254bc922 100644 --- a/ROMS/External/roms_damee_4.in +++ b/ROMS/External/roms_damee_4.in @@ -768,6 +768,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2887,6 +2888,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/ROMS/External/roms_dogbone_composite.in b/ROMS/External/roms_dogbone_composite.in index 34c15797..a2034d57 100644 --- a/ROMS/External/roms_dogbone_composite.in +++ b/ROMS/External/roms_dogbone_composite.in @@ -796,6 +796,7 @@ Qout(idWdis) == 2*F ! Dissip_roller wave roller dissipation Qout(idWrol) == 2*F ! roller_action wave roller action density Qout(idPair) == 2*F ! Pair surface air pressure +Qout(idPBLh) == 2*F ! PBLh atmosphere boundary layer thickness Qout(idTair) == 2*F ! Tair near surface air temperature Qout(idUair) == 2*F ! Uair near surface U-wind Qout(idVair) == 2*F ! Vair near surface V-wind @@ -2924,6 +2925,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/ROMS/External/roms_dogbone_refined.in b/ROMS/External/roms_dogbone_refined.in index a57ef9e3..c53d15f7 100644 --- a/ROMS/External/roms_dogbone_refined.in +++ b/ROMS/External/roms_dogbone_refined.in @@ -796,6 +796,7 @@ Qout(idWdis) == 2*F ! Dissip_roller wave roller dissipation Qout(idWrol) == 2*F ! roller_action wave roller action density Qout(idPair) == 2*F ! Pair surface air pressure +Qout(idPBLh) == 2*F ! PBLh atmosphere boundary layer thickness Qout(idTair) == 2*F ! Tair near surface air temperature Qout(idUair) == 2*F ! Uair near surface U-wind Qout(idVair) == 2*F ! Vair near surface V-wind @@ -2924,6 +2925,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/ROMS/External/roms_dogbone_whole.in b/ROMS/External/roms_dogbone_whole.in index 0bc11b40..3b6bdadd 100644 --- a/ROMS/External/roms_dogbone_whole.in +++ b/ROMS/External/roms_dogbone_whole.in @@ -768,6 +768,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2887,6 +2888,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/ROMS/External/roms_double_gyre.in b/ROMS/External/roms_double_gyre.in index 7a11c9ad..b04e559d 100644 --- a/ROMS/External/roms_double_gyre.in +++ b/ROMS/External/roms_double_gyre.in @@ -768,6 +768,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2887,6 +2888,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/ROMS/External/roms_estuary_test.in b/ROMS/External/roms_estuary_test.in index 1659c846..7f94d0ba 100644 --- a/ROMS/External/roms_estuary_test.in +++ b/ROMS/External/roms_estuary_test.in @@ -768,6 +768,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2887,6 +2888,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/ROMS/External/roms_flt_test2d.in b/ROMS/External/roms_flt_test2d.in index 2ca599d5..bf718b9d 100644 --- a/ROMS/External/roms_flt_test2d.in +++ b/ROMS/External/roms_flt_test2d.in @@ -768,6 +768,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2887,6 +2888,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/ROMS/External/roms_flt_test3d.in b/ROMS/External/roms_flt_test3d.in index 03112cb1..979630db 100644 --- a/ROMS/External/roms_flt_test3d.in +++ b/ROMS/External/roms_flt_test3d.in @@ -768,6 +768,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2887,6 +2888,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/ROMS/External/roms_grav_adj.in b/ROMS/External/roms_grav_adj.in index f8ac6d18..84d60f1a 100644 --- a/ROMS/External/roms_grav_adj.in +++ b/ROMS/External/roms_grav_adj.in @@ -768,6 +768,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2887,6 +2888,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/ROMS/External/roms_inlet_test.in b/ROMS/External/roms_inlet_test.in index 57400eee..d096a28d 100644 --- a/ROMS/External/roms_inlet_test.in +++ b/ROMS/External/roms_inlet_test.in @@ -768,6 +768,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2887,6 +2888,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/ROMS/External/roms_kelvin.in b/ROMS/External/roms_kelvin.in index b78ffe51..3a928605 100644 --- a/ROMS/External/roms_kelvin.in +++ b/ROMS/External/roms_kelvin.in @@ -774,6 +774,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2893,6 +2894,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/ROMS/External/roms_lab_canyon.in b/ROMS/External/roms_lab_canyon.in index a4104dd7..3e620296 100644 --- a/ROMS/External/roms_lab_canyon.in +++ b/ROMS/External/roms_lab_canyon.in @@ -768,6 +768,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2887,6 +2888,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/ROMS/External/roms_lake_jersey.in b/ROMS/External/roms_lake_jersey.in index 8b5f2a21..8fd83fc7 100644 --- a/ROMS/External/roms_lake_jersey.in +++ b/ROMS/External/roms_lake_jersey.in @@ -768,6 +768,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2887,6 +2888,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/ROMS/External/roms_lake_signell.in b/ROMS/External/roms_lake_signell.in index f28d704c..c73ec19b 100644 --- a/ROMS/External/roms_lake_signell.in +++ b/ROMS/External/roms_lake_signell.in @@ -768,6 +768,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2887,6 +2888,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/ROMS/External/roms_lmd_test.in b/ROMS/External/roms_lmd_test.in index a6a3c26a..aaf0e2bc 100644 --- a/ROMS/External/roms_lmd_test.in +++ b/ROMS/External/roms_lmd_test.in @@ -768,6 +768,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2887,6 +2888,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/ROMS/External/roms_overflow.in b/ROMS/External/roms_overflow.in index 3381d816..62fde1ee 100644 --- a/ROMS/External/roms_overflow.in +++ b/ROMS/External/roms_overflow.in @@ -744,6 +744,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2852,6 +2853,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/ROMS/External/roms_riverplume1.in b/ROMS/External/roms_riverplume1.in index 73e99062..b196bd77 100644 --- a/ROMS/External/roms_riverplume1.in +++ b/ROMS/External/roms_riverplume1.in @@ -790,6 +790,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2920,6 +2921,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/ROMS/External/roms_riverplume2.in b/ROMS/External/roms_riverplume2.in index 6b702670..3ca9770e 100644 --- a/ROMS/External/roms_riverplume2.in +++ b/ROMS/External/roms_riverplume2.in @@ -768,6 +768,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2887,6 +2888,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/ROMS/External/roms_seamount.in b/ROMS/External/roms_seamount.in index cc1d9f3c..bdfb200d 100644 --- a/ROMS/External/roms_seamount.in +++ b/ROMS/External/roms_seamount.in @@ -765,6 +765,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2884,6 +2885,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/ROMS/External/roms_sed_test1.in b/ROMS/External/roms_sed_test1.in index 634556b5..41d4659a 100644 --- a/ROMS/External/roms_sed_test1.in +++ b/ROMS/External/roms_sed_test1.in @@ -768,6 +768,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2887,6 +2888,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/ROMS/External/roms_sed_toy.in b/ROMS/External/roms_sed_toy.in index 5b8d18b2..8eed3ef5 100644 --- a/ROMS/External/roms_sed_toy.in +++ b/ROMS/External/roms_sed_toy.in @@ -768,6 +768,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2887,6 +2888,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/ROMS/External/roms_shoreface.in b/ROMS/External/roms_shoreface.in index bc0d3677..49ab6681 100644 --- a/ROMS/External/roms_shoreface.in +++ b/ROMS/External/roms_shoreface.in @@ -768,6 +768,7 @@ Qout(idWdis) == T ! Dissip_roller wave roller dissipation Qout(idWrol) == T ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2887,6 +2888,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/ROMS/External/roms_soliton.in b/ROMS/External/roms_soliton.in index aece44ea..e916f951 100644 --- a/ROMS/External/roms_soliton.in +++ b/ROMS/External/roms_soliton.in @@ -768,6 +768,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2887,6 +2888,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/ROMS/External/roms_test_chan.in b/ROMS/External/roms_test_chan.in index 61e28422..21bef3b7 100644 --- a/ROMS/External/roms_test_chan.in +++ b/ROMS/External/roms_test_chan.in @@ -768,6 +768,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2887,6 +2888,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/ROMS/External/roms_test_head.in b/ROMS/External/roms_test_head.in index bfe14b59..2e03e248 100644 --- a/ROMS/External/roms_test_head.in +++ b/ROMS/External/roms_test_head.in @@ -768,6 +768,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2887,6 +2888,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/ROMS/External/roms_upwelling.in b/ROMS/External/roms_upwelling.in index f6218f78..2746a469 100644 --- a/ROMS/External/roms_upwelling.in +++ b/ROMS/External/roms_upwelling.in @@ -768,6 +768,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2887,6 +2888,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/ROMS/External/roms_wc13.in b/ROMS/External/roms_wc13.in index fe54b965..981ed542 100644 --- a/ROMS/External/roms_wc13.in +++ b/ROMS/External/roms_wc13.in @@ -768,6 +768,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == T ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == T ! Tair near surface air temperature Qout(idUair) == T ! Uair near surface U-wind Qout(idVair) == T ! Vair near surface V-wind @@ -2893,6 +2894,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/ROMS/External/roms_weddell.in b/ROMS/External/roms_weddell.in index aa34b8df..961bf246 100644 --- a/ROMS/External/roms_weddell.in +++ b/ROMS/External/roms_weddell.in @@ -768,6 +768,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2887,6 +2888,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/ROMS/External/roms_windbasin.in b/ROMS/External/roms_windbasin.in index eeb4c0ab..5c3426b9 100644 --- a/ROMS/External/roms_windbasin.in +++ b/ROMS/External/roms_windbasin.in @@ -768,6 +768,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2887,6 +2888,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/ROMS/External/varinfo.yaml b/ROMS/External/varinfo.yaml index 8f3904fc..6db70b0b 100644 --- a/ROMS/External/varinfo.yaml +++ b/ROMS/External/varinfo.yaml @@ -1691,6 +1691,17 @@ metadata: add_offset: 0.0d0 scale: 1.0d0 + - variable: PBLh # Input + standard_name: atmosphere_boundary_layer_thickness + long_name: atmosphere boundary layer thickness + units: m # [m] + field: planetary boundary layer height + time: pblh_time + index_code: idPBLh + type: r2dvar + add_offset: 0.0d0 + scale: 1.0d0 + - variable: Tair # Input standard_name: surface_air_temperature long_name: surface air temperature diff --git a/ROMS/Modules/mod_forces.F b/ROMS/Modules/mod_forces.F index d795957e..c73ea1e0 100644 --- a/ROMS/Modules/mod_forces.F +++ b/ROMS/Modules/mod_forces.F @@ -70,6 +70,13 @@ MODULE mod_forces ! cloud Cloud fraction (percentage/100). ! ! cloudG Latest two-time snapshots of input "cloud" grided ! ! data used for interpolation. ! + +#if defined BULK_FLUXES && defined FRC_COUPLING && defined PBLH +! ! +! Atmosphere boundary layer. ! +! ! +! PBLh Planetary boundary layer height (m). ! +#endif ! ! ! Surface heat fluxes, Atmosphere-Ocean bulk parameterization. ! ! ! @@ -224,7 +231,9 @@ MODULE mod_forces real(r8), pointer :: PairG(:,:,:) # endif #endif - +#if defined BULK_FLUXES && defined FRC_COUPLING && defined PBLH + real(r8), pointer :: PBLh(:,:) +#endif #ifdef WAVES_DIR real(r8), pointer :: Dwave(:,:) # ifndef ANA_WWAVE @@ -629,6 +638,11 @@ SUBROUTINE allocate_forces (ng, LBi, UBi, LBj, UBj) # endif #endif +#if defined BULK_FLUXES && defined FRC_COUPLING && defined PBLH + allocate ( FORCES(ng) % PBLh(LBi:UBi,LBj:UBj) ) + Dmem(ng)=Dmem(ng)+size2d +#endif + #ifdef WAVES_DIR allocate ( FORCES(ng) % Dwave(LBi:UBi,LBj:UBj) ) Dmem(ng)=Dmem(ng)+size2d @@ -1207,6 +1221,11 @@ SUBROUTINE deallocate_forces (ng) # endif # endif +#if defined BULK_FLUXES && defined FRC_COUPLING && defined PBLH + IF (.not.destroy(ng, FORCES(ng)%PBLh, MyFile, & + & __LINE__, 'FORCES(ng)%PBLh')) RETURN +# endif + # ifdef WAVES_DIR IF (.not.destroy(ng, FORCES(ng)%Dwave, MyFile, & & __LINE__, 'FORCES(ng)%Dwave')) RETURN @@ -1834,6 +1853,9 @@ SUBROUTINE initialize_forces (ng, tile, model) FORCES(ng) % PairG(i,j,2) = IniVal # endif #endif +#if defined BULK_FLUXES && defined FRC_COUPLING && defined PBLH + FORCES(ng) % PBLh(i,j) = IniVal +#endif #ifdef WAVES_DIR FORCES(ng) % Dwave(i,j) = IniVal # ifndef ANA_WWAVE diff --git a/ROMS/Modules/mod_ncparam.F b/ROMS/Modules/mod_ncparam.F index f73a3e95..c389d734 100644 --- a/ROMS/Modules/mod_ncparam.F +++ b/ROMS/Modules/mod_ncparam.F @@ -261,6 +261,7 @@ MODULE mod_ncparam integer :: idOvel ! omega vertical velocity integer :: idOvil ! omega vertical velocity implicit integer :: idPair ! surface air pressure + integer :: idPBLh ! planetary boundary layer height integer :: idPbar ! streamfunction integer :: idPVzs ! potential vorticity depth slices integer :: idPwet ! wet/dry mask on PSI-points @@ -1753,6 +1754,8 @@ SUBROUTINE initialize_ncparam idVwet=varid CASE ('idPair') idPair=varid + CASE ('idPBLh') + idPBLh=varid CASE ('idTair') idTair=varid CASE ('idQair') diff --git a/ROMS/Nonlinear/bulk_flux.F b/ROMS/Nonlinear/bulk_flux.F index ea38bc6a..9d4a9b2c 100644 --- a/ROMS/Nonlinear/bulk_flux.F +++ b/ROMS/Nonlinear/bulk_flux.F @@ -36,7 +36,7 @@ MODULE bulk_flux_mod ! 409-438. ! ! ! ! Fairall, C.W., Bradley, E.F., Hare, J.E., Grachev, A.A. and ! -! Edson, J.B., 2003. Bulk parameterization of air–sea fluxes: ! +! Edson, J.B., 2003. Bulk parameterization of air-sea fluxes: ! ! Updates and verification for the COARE algorithm. Journal of ! ! Climate, 16, 571-591. ! ! ! @@ -155,6 +155,9 @@ SUBROUTINE bulk_flux (ng, tile) # ifdef CLOUDS & FORCES(ng) % cloud, & # endif +# if defined FRC_COUPLING && defined PBLH + & FORCES(ng) % PBLh, & +# endif # if defined COARE_TAYLOR_YELLAND || defined DRENNAN & FORCES(ng) % Hwave, & # endif @@ -226,6 +229,9 @@ SUBROUTINE bulk_flux_tile (ng, tile, & # ifdef CLOUDS & cloud, & # endif +# if defined FRC_COUPLING && defined PBLH + & PBLh, & +# endif # if defined COARE_TAYLOR_YELLAND || defined DRENNAN & Hwave, & # endif @@ -296,18 +302,21 @@ SUBROUTINE bulk_flux_tile (ng, tile, & # ifdef CLOUDS real(r8), intent(in ) :: cloud(LBi:,LBj:) # endif -# if defined COARE_TAYLOR_YELLAND || defined DRENNAN +# if defined FRC_COUPLING && defined PBLH + real(r8), intent(in ) :: PBLh(LBi:,LBj:) +# endif +# if defined COARE_TAYLOR_YELLAND || defined DRENNAN real(r8), intent(in ) :: Hwave(LBi:,LBj:) -# endif -# if defined COARE_TAYLOR_YELLAND || defined COARE_OOST || \ +# endif +# if defined COARE_TAYLOR_YELLAND || defined COARE_OOST || \ defined DRENNAN real(r8), intent(in ) :: Pwave_top(LBi:,LBj:) -# endif -# if !defined DEEPWATER_WAVES && \ +# endif +# if !defined DEEPWATER_WAVES && \ (defined COARE_TAYLOR_YELLAND || defined COARE_OOST || \ defined DRENNAN) real(r8), intent(in ) :: Lwavep(LBi:,LBj:) -# endif +# endif # if defined ICE_MODEL && defined ICE_BULK_FLUXES && \ defined ICE_ALBEDO && defined SHORTWAVE real(r8), intent(in ) :: albedo_ice(LBi:,LBj:) @@ -364,19 +373,22 @@ SUBROUTINE bulk_flux_tile (ng, tile, & # ifdef CLOUDS real(r8), intent(in ) :: cloud(LBi:UBi,LBj:UBj) # endif -# if defined COARE_TAYLOR_YELLAND || \ +# if defined FRC_COUPLING && defined PBLH + real(r8), intent(in ) :: PBLh(LBi:UBi,LBj:UBj) +# endif +# if defined COARE_TAYLOR_YELLAND || \ defined DRENNAN real(r8), intent(in ) :: Hwave(LBi:UBi,LBj:UBj) -# endif -# if defined COARE_TAYLOR_YELLAND || defined COARE_OOST || \ +# endif +# if defined COARE_TAYLOR_YELLAND || defined COARE_OOST || \ defined DRENNAN real(r8), intent(in ) :: Pwave_top(LBi:UBi,LBj:UBj) -# endif -# if !defined DEEPWATER_WAVES && \ +# endif +# if !defined DEEPWATER_WAVES && \ (defined COARE_TAYLOR_YELLAND || defined COARE_OOST || \ defined DRENNAN) real(r8), intent(in ) :: Lwavep(LBi:UBi,LBj:UBj) -# endif +# endif # if defined ICE_MODEL && defined ICE_BULK_FLUXES && \ defined ICE_ALBEDO && defined SHORTWAVE real(r8), intent(in ) :: albedo_ice(LBi:UBi,LBj:UBj) @@ -746,6 +758,9 @@ SUBROUTINE bulk_flux_tile (ng, tile, & Cd=(vonKar/LOG(blk_ZW(ng)/Zo10(i)))**2 ! ! Compute Richardson number. +# if defined FRC_COUPLING && defined PBLH +! Use atmosphere boundary layer thickness from coupled model. +# endif ! Ct(i)=vonKar/LOG(blk_ZT(ng)/ZoT10(i)) ! T transfer coefficient CC(i)=vonKar*Ct(i)/Cd @@ -753,7 +768,11 @@ SUBROUTINE bulk_flux_tile (ng, tile, & # ifdef COOL_SKIN delTc(i)=blk_dter # endif +# if defined FRC_COUPLING && defined PBLH + Ribcu(i)=-blk_ZW(ng)/(PBLh(i,j)*0.004_r8*blk_beta**3) +# else Ribcu(i)=-blk_ZW(ng)/(blk_Zabl*0.004_r8*blk_beta**3) +# endif Ri(i)=-g*blk_ZW(ng)*((delT(i)-delTc(i))+ & & 0.61_r8*TairK(i)*delQ(i))/ & & (TairK(i)*delW(i)*delW(i)+eps) @@ -881,11 +900,18 @@ SUBROUTINE bulk_flux_tile (ng, tile, & & (LOG(blk_ZQ(ng)/ZoQ(i))-Qpsi(i)) ! ! Compute gustiness in wind speed. +# if defined FRC_COUPLING && defined PBLH +! Use atmosphere boundary layer thickness from coupled model. +# endif ! Bf=-g/TairK(i)* & & Wstar(i)*(Tstar(i)+0.61_r8*TairK(i)*Qstar(i)) IF (Bf.gt.0.0_r8) THEN +# if defined FRC_COUPLING && defined PBLH + Wgus(i)=blk_beta*(Bf*PBLh(i,j))**r3 +# else Wgus(i)=blk_beta*(Bf*blk_Zabl)**r3 +# endif ELSE Wgus(i)=0.2_r8 END IF diff --git a/ROMS/Utility/checkdefs.F b/ROMS/Utility/checkdefs.F index 957103c8..40e34a25 100644 --- a/ROMS/Utility/checkdefs.F +++ b/ROMS/Utility/checkdefs.F @@ -2031,6 +2031,13 @@ SUBROUTINE checkdefs is=LEN_TRIM(Coptions)+1 Coptions(is:is+13)=' PARALLEL_IO,' #endif +#if defined PBLH && defined BULK_FLUXES && defined FRC_COUPLING +! + IF (Master) WRITE (stdout,20) 'PBLH', & + & 'Use atmosphere boundary layer thickness for wind gustiness' + is=LEN_TRIM(Coptions)+1 + Coptions(is:is+10)=' PBLH,' +#endif #if defined CARBON && defined BIO_FENNEL # if defined PCO2AIR_DATA ! diff --git a/ROMS/Utility/def_quick.F b/ROMS/Utility/def_quick.F index 0b66dcd2..aa9b08bd 100644 --- a/ROMS/Utility/def_quick.F +++ b/ROMS/Utility/def_quick.F @@ -1346,6 +1346,27 @@ SUBROUTINE def_quick_nf90 (ng, model, ldef) & NF_FOUT, nvd3, t2dgrd, Aval, Vinfo, ncname) IF (FoundError(exit_flag, NoError, __LINE__, MyFile)) RETURN END IF +# endif +# if defined BULK_FLUXES && defined FRC_COUPLING && defined PBLH +! +! Define atmosphere boundary layer thickness. +! + IF (Qout(idPBLh,ng)) THEN + Vinfo( 1)=Vname(1,idPBLh) + Vinfo( 2)=Vname(2,idPBLh) + Vinfo( 3)=Vname(3,idPBLh) + Vinfo(14)=Vname(4,idPBLh) + Vinfo(16)=Vname(1,idtime) +# if defined WRITE_WATER && defined MASKING + Vinfo(20)='mask_rho' +# endif + Vinfo(21)=Vname(6,idPBLh) + Vinfo(22)='coordinates' + Aval(5)=REAL(Iinfo(1,idPBLh,ng),r8) + status=def_var(ng, model, QCK(ng)%ncid, QCK(ng)%Vid(idPBLh), & + & NF_FOUT, nvd3, t2dgrd, Aval, Vinfo, ncname) + IF (FoundError(exit_flag, NoError, __LINE__, MyFile)) RETURN + END IF # endif # if defined BULK_FLUXES || defined ECOSIM ! @@ -1935,6 +1956,11 @@ SUBROUTINE def_quick_nf90 (ng, model, ldef) got_var(idPair)=.TRUE. QCK(ng)%Vid(idPair)=var_id(i) # endif +# if defined BULK_FLUXES && defined FRC_COUPLING && defined PBLH + ELSE IF (TRIM(var_name(i)).eq.TRIM(Vname(1,idPBLh))) THEN + got_var(idPBLh)=.TRUE. + QCK(ng)%Vid(idPBLh)=var_id(i) +# endif # if defined BULK_FLUXES || defined ECOSIM ELSE IF (TRIM(var_name(i)).eq.TRIM(Vname(1,idUair))) THEN got_var(idUair)=.TRUE. @@ -2273,6 +2299,14 @@ SUBROUTINE def_quick_nf90 (ng, model, ldef) RETURN END IF # endif +# if defined BULK_FLUXES && defined FRC_COUPLING && defined PBLH + IF (.not.got_var(idPBLh).and.Qout(idPBLh,ng)) THEN + IF (Master) WRITE (stdout,70) TRIM(Vname(1,idPBLh)), & + & TRIM(ncname) + exit_flag=3 + RETURN + END IF +# endif # if defined BULK_FLUXES || defined ECOSIM IF (.not.got_var(idUair).and.Qout(idUair,ng)) THEN IF (Master) WRITE (stdout,70) TRIM(Vname(1,idUair)), & @@ -3882,6 +3916,31 @@ SUBROUTINE def_quick_pio (ng, model, ldef) IF (FoundError(exit_flag, NoError, __LINE__, MyFile)) RETURN END IF # endif +# if defined BULK_FLUXES && defined FRC_COUPLING && defined PBLH +! +! Define atmosphere boundary layer thickness. +! + IF (Qout(idPBLh,ng)) THEN + Vinfo( 1)=Vname(1,idPBLh) + Vinfo( 2)=Vname(2,idPBLh) + Vinfo( 3)=Vname(3,idPBLh) + Vinfo(14)=Vname(4,idPBLh) + Vinfo(16)=Vname(1,idtime) +# if defined WRITE_WATER && defined MASKING + Vinfo(20)='mask_rho' +# endif + Vinfo(21)=Vname(6,idPBLh) + Vinfo(22)='coordinates' + Aval(5)=REAL(Iinfo(1,idPBLh,ng),r8) + QCK(ng)%pioVar(idPBLh)%dkind=PIO_FOUT + QCK(ng)%pioVar(idPBLh)%gtype=r2dvar +! + status=def_var(ng, model, QCK(ng)%pioFile, & + & QCK(ng)%pioVar(idPBLh)%vd, & + & PIO_FOUT, nvd3, t2dgrd, Aval, Vinfo, ncname) + IF (FoundError(exit_flag, NoError, __LINE__, MyFile)) RETURN + END IF +# endif # if defined BULK_FLUXES || defined ECOSIM ! ! Define surface winds. @@ -4614,6 +4673,12 @@ SUBROUTINE def_quick_pio (ng, model, ldef) QCK(ng)%pioVar(idPair)%dkind=PIO_FOUT QCK(ng)%pioVar(idPair)%gtype=r2dvar # endif +# if defined BULK_FLUXES && defined FRC_COUPLING && defined PBLH + got_var(idPBLh)=.TRUE. + QCK(ng)%pioVar(idPBLh)%vd=var_desc(i) + QCK(ng)%pioVar(idPBLh)%dkind=PIO_FOUT + QCK(ng)%pioVar(idPBLh)%gtype=r2dvar +# endif # if defined BULK_FLUXES || defined ECOSIM ELSE IF (TRIM(var_name(i)).eq.TRIM(Vname(1,idUair))) THEN got_var(idUair)=.TRUE. @@ -4992,6 +5057,14 @@ SUBROUTINE def_quick_pio (ng, model, ldef) RETURN END IF # endif +# if defined BULK_FLUXES && defined FRC_COUPLING && defined PBLH + IF (.not.got_var(idPBLh).and.Qout(idPBLh,ng)) THEN + IF (Master) WRITE (stdout,70) TRIM(Vname(1,idPBLh)), & + & TRIM(ncname) + exit_flag=3 + RETURN + END IF +# endif # if defined BULK_FLUXES || defined ECOSIM IF (.not.got_var(idUair).and.Qout(idUair,ng)) THEN IF (Master) WRITE (stdout,70) TRIM(Vname(1,idUair)), & diff --git a/ROMS/Utility/read_phypar.F b/ROMS/Utility/read_phypar.F index cbfaf9c5..1af6c1a4 100644 --- a/ROMS/Utility/read_phypar.F +++ b/ROMS/Utility/read_phypar.F @@ -2653,6 +2653,16 @@ SUBROUTINE read_PhyPar (model, inp, out, Lwrite) Npts=load_l(Nval, Cval, Ngrids, Lswitch) Qout(idPair,1:Ngrids)=Lswitch(1:Ngrids) # endif +# if defined BULK_FLUXES && defined FRC_COUPLING && defined PBLH + CASE ('Qout(idPBLh)') + IF (idPBLh.eq.0) THEN + IF (Master) WRITE (out,280) 'idPBLh' + exit_flag=5 + RETURN + END IF + Npts=load_l(Nval, Cval, Ngrids, Lswitch) + Qout(idPBLh,1:Ngrids)=Lswitch(1:Ngrids) +# endif # if defined BULK_FLUXES CASE ('Qout(idTair)') Npts=load_l(Nval, Cval, Ngrids, Lswitch) @@ -6747,6 +6757,11 @@ SUBROUTINE read_PhyPar (model, inp, out, Lwrite) & 'Qout(idPair)', & & 'Write out surface air pressure.' # endif +# if defined BULK_FLUXES && defined FRC_COUPLING && defined PBLH + IF (Qout(idPBLh,ng)) WRITE (out,170) Qout(idPBLh,ng), & + & 'Qout(idPBLh)', & + & 'Write out atmosphere boundary layer thickness.' +# endif # if defined BULK_FLUXES IF (Qout(idTair,ng)) WRITE (out,170) Qout(idTair,ng), & & 'Qout(idTair)', & diff --git a/ROMS/Utility/wrt_quick.F b/ROMS/Utility/wrt_quick.F index df02ac6a..5fa55744 100644 --- a/ROMS/Utility/wrt_quick.F +++ b/ROMS/Utility/wrt_quick.F @@ -1380,6 +1380,31 @@ SUBROUTINE wrt_quick_nf90 (ng, model, tile, & END IF END IF # endif +# if defined BULK_FLUXES && defined FRC_COUPLING && defined PBLH +! +! Write atmosphere boundary layer thickness. +! + IF (Qout(idPBLh,ng)) THEN + scale=1.0_dp + gtype=gfactor*r2dvar + status=nf_fwrite2d(ng, model, QCK(ng)%ncid, idPBLh, & + & QCK(ng)%Vid(idPBLh), & + & QCK(ng)%Rindex, gtype, & + & LBi, UBi, LBj, UBj, scale, & +# ifdef MASKING + & GRID(ng) % rmask, & +# endif + & FORCES(ng) % PBLh) + IF (FoundError(status, nf90_noerr, __LINE__, MyFile)) THEN + IF (Master) THEN + WRITE (stdout,20) TRIM(Vname(1,idPBLh)), QCK(ng)%Rindex + END IF + exit_flag=3 + ioerror=status + RETURN + END IF + END IF +# endif # if defined BULK_FLUXES ! ! Write out surface air temperature. @@ -3377,6 +3402,37 @@ SUBROUTINE wrt_quick_pio (ng, model, tile, & END IF END IF # endif +# if defined BULK_FLUXES && defined FRC_COUPLING && defined PBLH +! +! Write atmosphere boundary layer thickness. +! + IF (Qout(idPBLh,ng)) THEN + scale=1.0_dp + IF (QCK(ng)%pioVar(idPBLh)%dkind.eq.PIO_double) THEN + ioDesc => ioDesc_dp_r2dvar(ng) + ELSE + ioDesc => ioDesc_sp_r2dvar(ng) + END IF + status=nf_fwrite2d(ng, model, QCK(ng)%pioFile, idPBLh, & + & QCK(ng)%pioVar(idPBLh), & + & QCK(ng)%Rindex, & + & ioDesc, & + & LBi, UBi, LBj, UBj, scale, & +# ifdef MASKING + & GRID(ng) % rmask, & +# endif + & FORCES(ng) % PBLh) + IF (FoundError(status, nf90_noerr, __LINE__, MyFile)) THEN + IF (Master) THEN + WRITE (stdout,20) TRIM(Vname(1,idPBLh)), QCK(ng)%Rindex + END IF + exit_flag=3 + ioerror=status + RETURN + END IF + END IF + +# endif # if defined BULK_FLUXES ! ! Write out surface air temperature. diff --git a/User/External/roms_adria02.in b/User/External/roms_adria02.in index 480f5dd3..23c83096 100644 --- a/User/External/roms_adria02.in +++ b/User/External/roms_adria02.in @@ -767,6 +767,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2890,6 +2891,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/User/External/roms_cblast.in b/User/External/roms_cblast.in index 9734e2c8..5e9e5e7f 100644 --- a/User/External/roms_cblast.in +++ b/User/External/roms_cblast.in @@ -767,6 +767,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2889,6 +2890,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/User/External/roms_doppio.in b/User/External/roms_doppio.in index d5db3213..2fd7b13d 100644 --- a/User/External/roms_doppio.in +++ b/User/External/roms_doppio.in @@ -769,6 +769,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near near surface air temperature Qout(idUair) == F ! Uair near near surface U-wind Qout(idVair) == F ! Vair near near surface V-wind @@ -2895,6 +2896,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/User/External/roms_eac_4.in b/User/External/roms_eac_4.in index 10d675c9..092b03bf 100644 --- a/User/External/roms_eac_4.in +++ b/User/External/roms_eac_4.in @@ -767,6 +767,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2886,6 +2887,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/User/External/roms_eac_8.in b/User/External/roms_eac_8.in index 54c74917..b8c10ed4 100644 --- a/User/External/roms_eac_8.in +++ b/User/External/roms_eac_8.in @@ -767,6 +767,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2886,6 +2887,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/User/External/roms_ias.in b/User/External/roms_ias.in index 7758c335..1b0b9cb2 100644 --- a/User/External/roms_ias.in +++ b/User/External/roms_ias.in @@ -767,6 +767,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2886,6 +2887,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/User/External/roms_ias_40.in b/User/External/roms_ias_40.in index 51ab780b..a3d2c00e 100644 --- a/User/External/roms_ias_40.in +++ b/User/External/roms_ias_40.in @@ -766,6 +766,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2885,6 +2886,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/User/External/roms_natl.in b/User/External/roms_natl.in index 5f1974c3..3a0640e8 100644 --- a/User/External/roms_natl.in +++ b/User/External/roms_natl.in @@ -767,6 +767,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2886,6 +2887,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/User/External/roms_nena.in b/User/External/roms_nena.in index a5b48dc9..6cab5ca3 100644 --- a/User/External/roms_nena.in +++ b/User/External/roms_nena.in @@ -767,6 +767,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2887,6 +2888,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/User/External/roms_nj_bight.in b/User/External/roms_nj_bight.in index 4b456f85..b5de97fb 100644 --- a/User/External/roms_nj_bight.in +++ b/User/External/roms_nj_bight.in @@ -773,6 +773,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2899,6 +2900,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/User/External/roms_scb.in b/User/External/roms_scb.in index e5fce20b..bcc3ea5a 100644 --- a/User/External/roms_scb.in +++ b/User/External/roms_scb.in @@ -767,6 +767,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2886,6 +2887,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/User/External/roms_sw06_fine.in b/User/External/roms_sw06_fine.in index 8e3b0d72..63f08b49 100644 --- a/User/External/roms_sw06_fine.in +++ b/User/External/roms_sw06_fine.in @@ -767,6 +767,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2886,6 +2887,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component. diff --git a/User/External/roms_wcofs.in b/User/External/roms_wcofs.in index 751c675e..7b6c367c 100644 --- a/User/External/roms_wcofs.in +++ b/User/External/roms_wcofs.in @@ -765,6 +765,7 @@ Qout(idWdis) == F ! Dissip_roller wave roller dissipation Qout(idWrol) == F ! roller_action wave roller action density Qout(idPair) == F ! Pair surface air pressure +Qout(idPBLh) == F ! PBLh atmosphere boundary layer thickness Qout(idTair) == F ! Tair near surface air temperature Qout(idUair) == F ! Uair near surface U-wind Qout(idVair) == F ! Vair near surface V-wind @@ -2884,6 +2885,7 @@ PIO_I2C_Preq = 65 ! Maximum pending I2C requests ! Qout(idWrol) Write out wave roller action density. ! ! Qout(idPair) Write out surface air pressure. +! Qout(idPBLh) Write out atmosphere boundary layer height. ! Qout(idTair) Write out near surface air temperature. ! Qout(idUair) Write out near surface U-wind component. ! Qout(idVair) Write out near surface V-wind component.