Skip to content

Commit

Permalink
The HAFS related developments for the write_grid_component (#10)
Browse files Browse the repository at this point in the history
* output nested domain on cubed sphere grid

* output native cubed sphere grid for regional fv3 and nested fv3

* add HWRF PBL and surface drag for HAFS (sfc_diff.f, moninedmf.f, GFS_typedefs.F90, GFS_physics_driver.F90 modified)

* add back HWRF PBL and sfc drag after master revert fractional land/sea mask

* Enable outputing a grid from the write grid component, which is larger than the native computation grid of the nested/regional domain.
a. Remove the limitation of the output grid being completely inside the model native compuation grid.
b. Mask out the output grid points outside the computation grid with missing values.

* update HAFS with HWRF PBL/sfc drag

* add option to switch GWD on/off

* support/HAFS: Clean up before merging features back the develop branch.

* support/HAFS: Change the missing value in FV3GFS_io to default real type.
  • Loading branch information
BinLiu-NOAA authored and junwang-noaa committed Nov 25, 2019
1 parent 5bfd3c6 commit ea91f65
Show file tree
Hide file tree
Showing 4 changed files with 328 additions and 19 deletions.
7 changes: 6 additions & 1 deletion fv3_cap.F90
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ module fv3gfs_cap_mod
cplprint_flag,output_1st_tstep_rst, &
first_kdt

use module_fv3_io_def, only: num_pes_fcst,write_groups, &
use module_fv3_io_def, only: num_pes_fcst,write_groups,app_domain, &
num_files, filename_base, &
wrttasks_per_group, n_group, &
lead_wrttask, last_wrttask, &
Expand Down Expand Up @@ -322,6 +322,10 @@ subroutine InitializeAdvertise(gcomp, importState, exportState, clock, rc)
label ='write_tasks_per_group:',rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, line=__LINE__, file=__FILE__)) return

CALL ESMF_ConfigGetAttribute(config=CF,value=app_domain, default="global", &
label ='app_domain:',rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, line=__LINE__, file=__FILE__)) return

if(mype == 0) print *,'af nems config,restart_interval=',restart_interval, &
'quilting=',quilting,'write_groups=',write_groups,wrttasks_per_group, &
'calendar=',trim(calendar),'calendar_type=',calendar_type
Expand Down Expand Up @@ -692,6 +696,7 @@ subroutine InitializeAdvertise(gcomp, importState, exportState, clock, rc)
isrctermprocessing = 1
call ESMF_FieldBundleRegridStore(fcstFB(j), wrtFB(j,i), &
regridMethod=regridmethod, routehandle=routehandle(j,i), &
unmappedaction=ESMF_UNMAPPEDACTION_IGNORE, &
srcTermProcessing=isrctermprocessing, rc=rc)

! if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, line=__LINE__, file=__FILE__)) return
Expand Down
3 changes: 1 addition & 2 deletions io/FV3GFS_io.F90
Original file line number Diff line number Diff line change
Expand Up @@ -101,8 +101,7 @@ module FV3GFS_io_mod
logical :: uwork_set = .false.
character(128) :: uwindname
integer, parameter, public :: DIAG_SIZE = 500
! real(kind=kind_phys), parameter :: missing_value = 1.d30
real(kind=kind_phys), parameter :: missing_value = 9.99e20
real, parameter :: missing_value = 9.99e20
real, parameter:: stndrd_atmos_ps = 101325.
real, parameter:: stndrd_atmos_lapse = 0.0065

Expand Down
1 change: 1 addition & 0 deletions io/module_fv3_io_def.F90
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ module module_fv3_io_def
logical :: write_nemsioflip
logical :: write_fsyncflag
integer :: num_files
character(255) :: app_domain
character(255) :: output_grid
character(255) :: output_file
integer :: imo,jmo
Expand Down
Loading

0 comments on commit ea91f65

Please sign in to comment.