Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

add parallel-netcdf capability to speed up writing out FV3LAM final analysis #4

Merged
merged 2 commits into from
Sep 20, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 11 additions & 1 deletion src/gsi/gridmod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@ module gridmod
! 2019-09-04 martin - add write_fv3_incr to write netCDF increment rather than analysis in NEMSIO format
! 2019-09-23 martin - add use_gfs_ncio to read global first guess from netCDF file
! 2020-12-18 Hu - add grid_type_fv3_regional
! 2021-09-08 Guoqing - add npePgrp_rfv3,rfv3_pe_T,rfv3_pe_v,rfv3_pe_q,rfv3_pe_ps,rfv3_pe_dz
!
!
!
Expand Down Expand Up @@ -162,6 +163,7 @@ module gridmod
public :: use_sp_eqspace,jcap_cut
public :: wrf_mass_hybridcord
public :: write_fv3_incr
public :: npePgrp_rfv3,rfv3_pe_T,rfv3_pe_v,rfv3_pe_q,rfv3_pe_ps,rfv3_pe_dz

interface strip
module procedure strip_single_rank33_
Expand Down Expand Up @@ -264,7 +266,9 @@ module gridmod
integer(i_kind) jcap ! spectral triangular truncation of ncep global analysis
integer(i_kind) jcap_b ! spectral triangular truncation of ncep global background
integer(i_kind) nthreads ! number of threads used (currently only used in calctends routines)

integer(i_kind) npePgrp_rfv3,rfv3_pe_T,rfv3_pe_v,rfv3_pe_q,rfv3_pe_ps,rfv3_pe_dz
! npePgrp_rfv3 - The number of PEs in each write group for regional fv3
! rfv3_pe_T,rfv3_pe_v,rfv3_pe_q,rfv3_pe_ps,rfv3_pe_dz - specify starting pe for T,U/V,Q,PS,DZ write groups

logical periodic ! logical flag for periodic e/w domains
logical,allocatable,dimension(:):: periodic_s ! logical flag for periodic e/w subdomain (all tasks)
Expand Down Expand Up @@ -472,6 +476,12 @@ subroutine init_grid
lon1 = nlon
lat2 = lat1+2
lon2 = lon1+2
npePgrp_rfv3=2
rfv3_pe_T=0
rfv3_pe_v=2
rfv3_pe_q=4
rfv3_pe_ps=6
rfv3_pe_dz=8

diagnostic_reg = .false.
if(verbose)diagnostic_reg = .true.
Expand Down
Loading