ReFRACtor
FullPhysics::Meteorology Class Referenceabstract

Defines the interface for supplying meteorological data. More...

#include <meteorology.h>

+ Inheritance diagram for FullPhysics::Meteorology:
+ Collaboration diagram for FullPhysics::Meteorology:

Public Member Functions

virtual ~Meteorology ()
 
virtual blitz::Array< double, 1 > pressure_levels () const =0
 Pressure levels in Pascals used for provided meteorological data. More...
 
void print (std::ostream &Os) const
 
std::string print_to_string () const
 Print to string. More...
 
virtual blitz::Array< double, 1 > specific_humidity () const =0
 Specific humidty on the meteorological pressure levels. More...
 
virtual blitz::Array< double, 1 > specific_humidity (const blitz::Array< double, 1 > &Pressure_level) const
 Specific humidity interpolated to the requested pressure levels. More...
 
virtual double surface_pressure () const =0
 Surface pressure in Pascals. More...
 
virtual blitz::Array< double, 1 > temperature () const =0
 Temperature profile in Kelvins on the meteorological pressure levels. More...
 
virtual blitz::Array< double, 1 > temperature (const blitz::Array< double, 1 > &Pressure_level) const
 Temperature profile in Kelvins interpolated to the requested pressure levels. More...
 
virtual blitz::Array< double, 1 > vmr (const std::string &Species) const
 Volume mixing ratio for a particular species on the meteorological pressure levels. More...
 
virtual blitz::Array< double, 1 > vmr (const std::string &Species, const blitz::Array< double, 1 > &Pressure_level) const
 Volume mixing ratio for a particular species interpolated to the requested pressure levels. More...
 
virtual double windspeed () const
 Windspeed magnitude in m/s for the surface. More...
 
virtual double windspeed_u () const =0
 The U component windspeed in m/s. More...
 
virtual double windspeed_v () const =0
 The V component windspeed in m/s. More...
 

Protected Member Functions

virtual blitz::Array< double, 1 > h2o_vmr () const
 Return the H20 VMR. More...
 
blitz::Array< double, 1 > interpolate_to_grid (const blitz::Array< double, 1 > &Profile, const blitz::Array< double, 1 > &Dest_pressure_levels) const
 Interpolates a profile of data from the internal pressure grid to the supplied one. More...
 

Detailed Description

Defines the interface for supplying meteorological data.

Routines are provided to interpolate the values to a different pressure levels grid for values with a profile.

Definition at line 14 of file meteorology.h.

Constructor & Destructor Documentation

◆ ~Meteorology()

virtual FullPhysics::Meteorology::~Meteorology ( )
inlinevirtual

Definition at line 16 of file meteorology.h.

Member Function Documentation

◆ h2o_vmr()

blitz::Array< double, 1 > Meteorology::h2o_vmr ( ) const
protectedvirtual

Return the H20 VMR.

This is the specific_humidity converted to a volume mixing ratio.

Definition at line 67 of file meteorology.cc.

◆ interpolate_to_grid()

Array< double, 1 > Meteorology::interpolate_to_grid ( const blitz::Array< double, 1 > &  Profile,
const blitz::Array< double, 1 > &  Dest_pressure_levels 
) const
protected

Interpolates a profile of data from the internal pressure grid to the supplied one.

Uses log-log interpolation.

Definition at line 75 of file meteorology.cc.

◆ pressure_levels()

virtual blitz::Array<double, 1> FullPhysics::Meteorology::pressure_levels ( ) const
pure virtual

Pressure levels in Pascals used for provided meteorological data.

Implemented in FullPhysics::ExampleMetFile.

◆ print()

void FullPhysics::Meteorology::print ( std::ostream &  Os) const
inline

Definition at line 80 of file meteorology.h.

◆ print_to_string()

std::string FullPhysics::Printable< Meteorology >::print_to_string ( ) const
inlineinherited

Print to string.

This is primarily useful for SWIG wrappers to this class, e.g. a to_s method in ruby.

Definition at line 31 of file printable.h.

◆ specific_humidity() [1/2]

virtual blitz::Array<double, 1> FullPhysics::Meteorology::specific_humidity ( ) const
pure virtual

Specific humidty on the meteorological pressure levels.

Implemented in FullPhysics::ExampleMetFile.

◆ specific_humidity() [2/2]

virtual blitz::Array<double, 1> FullPhysics::Meteorology::specific_humidity ( const blitz::Array< double, 1 > &  Pressure_level) const
virtual

Specific humidity interpolated to the requested pressure levels.

◆ surface_pressure()

virtual double FullPhysics::Meteorology::surface_pressure ( ) const
pure virtual

Surface pressure in Pascals.

Implemented in FullPhysics::ExampleMetFile.

◆ temperature() [1/2]

virtual blitz::Array<double, 1> FullPhysics::Meteorology::temperature ( ) const
pure virtual

Temperature profile in Kelvins on the meteorological pressure levels.

Implemented in FullPhysics::ExampleMetFile.

◆ temperature() [2/2]

virtual blitz::Array<double, 1> FullPhysics::Meteorology::temperature ( const blitz::Array< double, 1 > &  Pressure_level) const
virtual

Temperature profile in Kelvins interpolated to the requested pressure levels.

◆ vmr() [1/2]

blitz::Array< double, 1 > Meteorology::vmr ( const std::string &  Species) const
virtual

Volume mixing ratio for a particular species on the meteorological pressure levels.

Species name should use the standard molecular compound naming convention. Ie, oxygen = O2, water = H2O, etc..

Functions for computing the VMR values are registered into vmr_func_map. This base class includes an implementation for H2O VMR from specific_humidity.

Definition at line 54 of file meteorology.cc.

◆ vmr() [2/2]

virtual blitz::Array<double, 1> FullPhysics::Meteorology::vmr ( const std::string &  Species,
const blitz::Array< double, 1 > &  Pressure_level 
) const
virtual

Volume mixing ratio for a particular species interpolated to the requested pressure levels.

◆ windspeed()

double Meteorology::windspeed ( ) const
virtual

Windspeed magnitude in m/s for the surface.

Definition at line 49 of file meteorology.cc.

◆ windspeed_u()

virtual double FullPhysics::Meteorology::windspeed_u ( ) const
pure virtual

The U component windspeed in m/s.

Implemented in FullPhysics::ExampleMetFile.

◆ windspeed_v()

virtual double FullPhysics::Meteorology::windspeed_v ( ) const
pure virtual

The V component windspeed in m/s.

Implemented in FullPhysics::ExampleMetFile.


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

Copyright © 2017, California Institute of Technology.
ALL RIGHTS RESERVED.
U.S. Government Sponsorship acknowledged.
Generated Fri Aug 24 2018 15:44:13