FV3 Bundle
fv3jedi_state_mod Module Reference

Handle state for the FV3JEDI odel. More...

Functions/Subroutines

subroutine, public create (self, geom, vars)
 
subroutine, public delete (self)
 
subroutine, public zeros (self)
 
subroutine, public copy (self, rhs)
 
subroutine, public axpy (self, zz, rhs)
 
subroutine, public add_incr (geom, self, rhs)
 
subroutine, public change_resol (state, rhs)
 
subroutine, public analytic_ic (state, geom, c_conf, vdate)
 Analytic Initialization for the FV3 Model. More...
 
subroutine invent_state (state, config, geom)
 
subroutine, public read_file (geom, state, c_conf, vdate)
 
subroutine, public write_file (geom, state, c_conf, vdate)
 
subroutine, public gpnorm (state, nf, pstat)
 
subroutine, public staterms (state, prms)
 

Detailed Description

Handle state for the FV3JEDI odel.

Function/Subroutine Documentation

◆ add_incr()

subroutine, public fv3jedi_state_mod::add_incr ( type(fv3jedi_geom), intent(inout)  geom,
type(fv3jedi_state), intent(inout)  self,
type(fv3jedi_increment), intent(in)  rhs 
)

Definition at line 327 of file fv3jedi_state_mod.f90.

Here is the call graph for this function:

◆ analytic_ic()

subroutine, public fv3jedi_state_mod::analytic_ic ( type(fv3jedi_state), intent(inout)  state,
type(fv3jedi_geom), intent(inout)  geom,
type(c_ptr), intent(in)  c_conf,
type(datetime), intent(inout)  vdate 
)

Analytic Initialization for the FV3 Model.

analytic_IC() initializes the FV3JEDI state and State objects using one of several alternative idealized analytic models. This is intended to facilitate testing by eliminating the need to read in the initial state from a file and by providing exact expressions to test interpolations. This function is activated by setting the "analytic_init" state in the "initial" or "StateFile" section of the configuration file.

Initialization options that begin with "dcmip" refer to tests defined by the multi-institutional 2012 Dynamical Core Intercomparison Project and the associated Summer School, sponsored by NOAA, NSF, DOE, NCAR, and the University of Michigan.

Currently implemented options for analytic_init include:

  • invent-state: Backward compatibility with original analytic init option
  • dcmip-test-1-1: 3D deformational flow
  • dcmip-test-1-2: 3D Hadley-like meridional circulation
  • dcmip-test-3-1: Non-hydrostatic gravity wave
  • dcmip-test-4-0: Baroclinic instability
Author
M. Miesch (adapted from a pre-existing call to invent_state)
Date
March, 2018: Created
May, 2018: Added dcmip-test-3-1
June, 2018: Added dcmip-test-4-0
Warning
This routine initializes the fv3jedi_state object. However, since the fv_atmos_type component of fv3jedi_state is a subset of the corresponding object in the fv3 model, this initialization routine is not sufficient to comprehensively define the full fv3 state. So, this intitialization can be used for interpolation and other tests within JEDI but it is cannot currently be used to initiate a forecast with gfs.
This routine does not initialize the fv3jedi_interp member of the fv3jedi_state object
Though an input state file is not required for these analytic initialization routines, some grid information (in particular the hybrid vertical grid coefficients ak and bk) is still read in from an input file when creating the geometry object that is a required member of fv3jedi_state; see c_fv3jedi_geo_setup() in fv3jedi_geom_mod.F90.
It's unclear whether the pt member of the fv_atmos_type structure is potential temperature or temperature. This routine assumes the latter. If this is not correct, then we will need to implement a conversion
Parameters
[in,out]geomGeometry
[in]c_confConfiguration
[in,out]vdateDateTime

Definition at line 452 of file fv3jedi_state_mod.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ axpy()

subroutine, public fv3jedi_state_mod::axpy ( type(fv3jedi_state), intent(inout)  self,
real(kind=kind_real), intent(in)  zz,
type(fv3jedi_state), intent(in)  rhs 
)

Definition at line 303 of file fv3jedi_state_mod.f90.

Here is the caller graph for this function:

◆ change_resol()

subroutine, public fv3jedi_state_mod::change_resol ( type(fv3jedi_state), intent(inout)  state,
type(fv3jedi_state), intent(in)  rhs 
)

Definition at line 393 of file fv3jedi_state_mod.f90.

Here is the call graph for this function:

◆ copy()

subroutine, public fv3jedi_state_mod::copy ( type(fv3jedi_state), intent(inout)  self,
type(fv3jedi_state), intent(in)  rhs 
)

Definition at line 230 of file fv3jedi_state_mod.f90.

◆ create()

subroutine, public fv3jedi_state_mod::create ( type(fv3jedi_state), intent(inout)  self,
type(fv3jedi_geom), intent(in), target  geom,
type(fv3jedi_vars), intent(in)  vars 
)

Definition at line 42 of file fv3jedi_state_mod.f90.

Here is the call graph for this function:

◆ delete()

subroutine, public fv3jedi_state_mod::delete ( type(fv3jedi_state), intent(inout)  self)

Definition at line 154 of file fv3jedi_state_mod.f90.

◆ gpnorm()

subroutine, public fv3jedi_state_mod::gpnorm ( type(fv3jedi_state), intent(in)  state,
integer, intent(in)  nf,
real(kind=kind_real), dimension(3, nf), intent(inout)  pstat 
)

Definition at line 857 of file fv3jedi_state_mod.f90.

◆ invent_state()

subroutine fv3jedi_state_mod::invent_state ( type(fv3jedi_state), intent(inout)  state,
type(c_ptr), intent(in)  config,
type(fv3jedi_geom), intent(in)  geom 
)
Parameters
[in,out]stateModel state
[in]configConfiguration structure

Definition at line 696 of file fv3jedi_state_mod.f90.

Here is the caller graph for this function:

◆ read_file()

subroutine, public fv3jedi_state_mod::read_file ( type(fv3jedi_geom), intent(inout)  geom,
type(fv3jedi_state), intent(inout)  state,
type(c_ptr), intent(in)  c_conf,
type(datetime), intent(inout)  vdate 
)
Parameters
[in,out]geomGeometry
[in]c_confConfiguration
[in,out]vdateDateTime

Definition at line 803 of file fv3jedi_state_mod.f90.

Here is the call graph for this function:

◆ staterms()

subroutine, public fv3jedi_state_mod::staterms ( type(fv3jedi_state), intent(in)  state,
real(kind=kind_real), intent(out)  prms 
)

Definition at line 954 of file fv3jedi_state_mod.f90.

Here is the caller graph for this function:

◆ write_file()

subroutine, public fv3jedi_state_mod::write_file ( type(fv3jedi_geom), intent(inout)  geom,
type(fv3jedi_state), intent(in)  state,
type(c_ptr), intent(in)  c_conf,
type(datetime), intent(inout)  vdate 
)
Parameters
[in,out]geomGeometry
[in]c_confConfiguration
[in,out]vdateDateTime

Definition at line 830 of file fv3jedi_state_mod.f90.

Here is the call graph for this function:

◆ zeros()

subroutine, public fv3jedi_state_mod::zeros ( type(fv3jedi_state), intent(inout)  self)

Definition at line 206 of file fv3jedi_state_mod.f90.