phyex1d
1D model using PHYEX
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Protected Attributes | List of all members
phyex1d.physics.PhysicsBase Class Reference
Inheritance diagram for phyex1d.physics.PhysicsBase:
Inheritance graph
[legend]
Collaboration diagram for phyex1d.physics.PhysicsBase:
Collaboration graph
[legend]

Public Member Functions

 __init__ (self, dt, method, name, tag, inputfile, grid, prognostic_variables, pyphyex=None, pyecrad=None, namel=None, dx=0, dy=0, attrs=None)
 
 setup (self, init_state, duration)
 
 finalize (self)
 
 execute (self, previous_state, timestep, timestep_number)
 
 add_vertical_coordinate (self, state)
 
 add_conversions (self, state)
 
 build_init_state (self, init_state)
 
 forcing (self, state, timestep, timestep_number)
 

Public Attributes

 inputfile
 
 grid
 
 prognostic_variables
 
 pyphyex
 
 pyecrad
 
 namel
 
 full_phyex_namel
 
 dx
 
 dy
 
 adv_ua
 
 adv_va
 
 case
 
 interpolators
 
 cst
 

Protected Attributes

 _pyphyex
 
 _pyecrad
 
 _dt
 

Detailed Description

Implementation of the forcing
This class is not intended to be used directly

Constructor & Destructor Documentation

◆ __init__()

phyex1d.physics.PhysicsBase.__init__ (   self,
  dt,
  method,
  name,
  tag,
  inputfile,
  grid,
  prognostic_variables,
  pyphyex = None,
  pyecrad = None,
  namel = None,
  dx = 0,
  dy = 0,
  attrs = None 
)
:param dt: timestep (s)
:param method: 'step-by-step' or 'one-step'
:param name: full name of the execution
:param tag: tag to identify the execution
:param inputfile: netCDF file name describing the case
:param grid: Grid object instance
:param prognostic_variable: List of prognostic variables
:param phyex: path to the pyphyex.py file generated by the PHYEX package
:param pyecrad: path to the pyecrad/__init__.py file
:param namel: namelist to use: as a file name or a dictionnary
:param dx, dy: mesh size
:param attrs: dictionnary holding caes attributes to override

Reimplemented in phyex1d.physics.PhysicsAromeTQ, phyex1d.physics.PhysicsAromeThetaR, phyex1d.physics.PhysicsForcingTQ, and phyex1d.physics.PhysicsForcingThetaR.

Member Function Documentation

◆ add_conversions()

phyex1d.physics.PhysicsBase.add_conversions (   self,
  state 
)
Add some derived variables to the current state
:param state: current state

◆ add_vertical_coordinate()

phyex1d.physics.PhysicsBase.add_vertical_coordinate (   self,
  state 
)
Adds the vertical coordinate to the current state
:param state: current state

◆ build_init_state()

phyex1d.physics.PhysicsBase.build_init_state (   self,
  init_state 
)
Initial state

◆ execute()

phyex1d.physics.PhysicsBase.execute (   self,
  previous_state,
  timestep,
  timestep_number 
)
This method do the computational part of the time advance

:param previous_state:  dictionary holding all the variables.
:param timestep: timestep (s)
:param timestep_number: current time step
:returns: a 'state' dictionary containing variable values after time integration

◆ finalize()

phyex1d.physics.PhysicsBase.finalize (   self)
Close open resources

◆ forcing()

phyex1d.physics.PhysicsBase.forcing (   self,
  state,
  timestep,
  timestep_number 
)
This method do the computational part of the time advance

:param state:  dictionary holding all the variables.
:param timestep: timestep (s)
:param timestep_number: current time step
:returns: a 'state' dictionary containing variable values after time integration

◆ setup()

phyex1d.physics.PhysicsBase.setup (   self,
  init_state,
  duration 
)
:param init_state: intial state
:param duration: duration of the simulation

The documentation for this class was generated from the following file: