FMS
2024.03
Flexible Modeling System
|
▼Namip_interp_mod | |
Camip_interp_new | Initializes data needed for the horizontal interpolation between the sst data and model grid |
Camip_interp_type | Contains information needed by the interpolation module (exchange_mod) and buffers data (r4_kind flavor) |
Cassignment(=) | Assignment overload to allow native assignment between amip_interp_type variables |
Cdate_type | Private data type for representing a calendar date |
Cget_amip_ice | AMIP interpolation for ice |
Cget_amip_sst | Retrieve sea surface temperature data and interpolated grid |
Coperator(/=) | Private logical inequality overload for amip_interp_type |
Coperator(==) | Private logical equality overload for amip_interp_type |
Coperator(>) | Private logical greater than overload for amip_interp_type |
▼Nastronomy_mod | |
Cangle | |
Cannual_mean_solar | Calculates the annual mean of solar information for a given latitude and time |
Cdaily_mean_solar | Calculates the daily mean solar information for a given time and latitude |
Cdeclination | |
Cdiurnal_solar | Calculates solar information for the given location(lat & lon) and time |
Cget_orbital_parameters | |
Cget_period | Gets the length of year for current calendar |
Chalf_day | Private interface for internal use by dirunal_solar and daily_mean_solar |
Cr_inv_squared | |
Cset_orbital_parameters | |
Cset_period | Sets the length of a year for the calendar in use |
▼Naxis_utils2_mod | |
Caxis_edges | Perform 1D interpolation between grids |
Cfind_index | |
Cfrac_index | |
Cinterp_1d | |
Cinterp_1d_cubic_spline | |
Cinterp_1d_linear | |
Clon_in_range | |
Cnearest_index | |
Ctranlon | |
▼Nblock_control_mod | |
Cblock_control_type | Block data and extents for OpenMP threading of column-based calculations |
Cix_type | Type to dereference packed index from global index |
Cpk_type | Type to dereference packed index from global indices |
▼Ncolumn_diagnostics_mod | |
Ccolumn_diagnostics_header | |
Cinitialize_diagnostic_columns | |
▼Ncoupler_types_mod | |
Ccoupler_1d_bc_type | Coupler data for 1D boundary conditions |
Ccoupler_1d_real4_field_type | Coupler data for 1D fields |
Ccoupler_1d_real4_values_type | Coupler data for 1D values |
Ccoupler_1d_real8_field_type | Coupler data for 1D fields |
Ccoupler_1d_real8_values_type | Coupler data for 1D values |
Ccoupler_2d_bc_type | Coupler data for 2D boundary conditions |
Ccoupler_2d_real4_field_type | Coupler data for 2D fields |
Ccoupler_2d_real4_values_type | Coupler data for 2D values |
Ccoupler_2d_real8_field_type | Coupler data for 2D fields |
Ccoupler_2d_real8_values_type | Coupler data for 2D values |
Ccoupler_3d_bc_type | Coupler data for 3D boundary conditions |
Ccoupler_3d_real4_field_type | Coupler data for 3D fields |
Ccoupler_3d_real4_values_type | Coupler data for 3D values |
Ccoupler_3d_real8_field_type | Coupler data for 3D fields |
Ccoupler_3d_real8_values_type | Coupler data for 3D values |
Ccoupler_type_copy | This is the interface to spawn one coupler_bc_type into another and then register diagnostics associated with the new type |
Ccoupler_type_copy_data | This is the interface to copy the field data from one coupler_bc_type to another of the same rank, size and decomposition |
Ccoupler_type_data_override | This is the interface to override the values of the arrays in a coupler_bc_type |
Ccoupler_type_destructor | This is the interface to deallocate any data associated with a coupler_bc_type |
Ccoupler_type_extract_data | This is the interface to extract a field in a coupler_bc_type into an array |
Ccoupler_type_increment_data | This is the interface to increment the field data from one coupler_bc_type with the data from another. Both must have the same horizontal size and decomposition, but a 2d type may be incremented by a 2d or 3d type |
Ccoupler_type_initialized | This function interface indicates whether a coupler_bc_type has been initialized |
Ccoupler_type_redistribute_data | This is the interface to redistribute the field data from one coupler_bc_type to another of the same rank and global size, but a different decomposition |
Ccoupler_type_register_restarts | This is the interface to register the fields in a coupler_bc_type to be saved in restart files |
Ccoupler_type_rescale_data | This is the interface to rescale the field data in a coupler_bc_type |
Ccoupler_type_restore_state | This is the interface to read in the fields in a coupler_bc_type that have been saved in restart files |
Ccoupler_type_send_data | This is the interface to write out diagnostics of the arrays in a coupler_bc_type |
Ccoupler_type_set_data | This is the interface to set a field in a coupler_bc_type from an array |
Ccoupler_type_set_diags | This is the interface to set diagnostics for the arrays in a coupler_bc_type |
Ccoupler_type_spawn | This is the interface to spawn one coupler_bc_type into another |
Ccoupler_type_write_chksums | This is the interface to write out checksums for the elements of a coupler_bc_type |
▼Ndata_override_mod | |
Cdata_override | Interface for inserting and interpolating data into a file for a model's grid and time. Data path must be described in a user-provided data_table, see module description for more information |
Cdata_override_ug | Version of Data Override for unstructured grids |
▼Ndiag_axis_mod | |
Cdiag_axis_add_attribute | Add an arbitrary attribute and value to the diagnostic axis |
▼Ndiag_data_mod | |
Ccoord_type | Define the region for field output |
Cdiag_atttype | Attribute type for diagnostic fields |
Cdiag_axis_type | Type to hold the diagnostic axis description |
Cdiag_fieldtype | Diagnostic field type |
Cdiag_global_att_type | |
Cdiag_grid | Contains the coordinates of the local domain to output |
Cfile_type | Type to define the diagnostic files that will be written as defined by the diagnostic table |
Cfmsdiagattribute_type | Type to hold the attributes of the field/axis/file |
Cinput_field_type | Type to hold the input field description |
Coutput_field_type | Type to hold the output field description |
▼Ndiag_grid_mod | |
Cdiag_global_grid_type | Private type to hold the model's global grid data, and other grid information for use in this module |
Cpoint | Private type to hold the corresponding (x,y,z) location for a (lat,lon) location |
▼Ndiag_integral_mod | |
Csum_diag_integral_field | Perform a summation of the named integral field |
▼Ndiag_manager_mod | |
Cdiag_field_add_attribute | Add a attribute to the output field |
Cregister_diag_field | Register a diagnostic field for a given module |
Csend_data | Send data over to output fields |
Csend_tile_averaged_data | Send tile-averaged data over to output fields |
▼Ndiag_table_mod | |
Cfield_description_type | Private type to hold field information for the diag table |
Cfile_description_type | Private type to hold file information for the diag table |
▼Ndiag_util_mod | |
Cattribute_init | Allocates the atttype in out_file |
Cfms_diag_check_out_of_bounds | |
Cprepend_attribute | Prepend a value to a string attribute in the output field or output file |
▼Nfield_manager_mod | |
Cfield_def | Private type for internal use |
Cfield_mgr_type | Private type for internal use |
Cfield_names_type | Private type for internal use |
Cfield_names_type_short | Private type for internal use |
Cfind_field_index | Returns an index corresponding to the given field name |
Cfm_get_value | An overloaded function to find and extract a value for a named field |
Cfm_list_iter_type | Iterator over the field manager list |
Cfm_loop_over_list | A function for looping over a list |
Cfm_new_value | An overloaded function to assign a value to a field |
Cmethod_type | This method_type is a way to allow a component module to alter the parameters it needs for various tracers |
Cmethod_type_short | This method_type is the same as method_type except that the method_control string is not present. This is used when you wish to change to a scheme within a module but do not need to pass parameters. See method_type for member information |
Cmethod_type_very_short | This is the same as method_type except that the method_control and method_name strings are not present. This is used when you wish to change to a scheme within a module but do not need to pass parameters |
Cparse | A function to parse an integer or an array of integers, a real or an array of reals, a string or an array of strings |
▼Nfm_util_mod | |
Cfm_util_set_value | |
Cfm_util_set_value_real | |
Cfm_util_set_value_real_array | |
▼Nfm_yaml_mod | |
Cfmattr_t | This type represents a subparameter block for a given variable parameter. This type contains the name of the associated parameter and the subparameter key/value pairs |
Cfmmodel_t | This type represents the entries for a given model, e.g. land, ocean, atmosphere. This type contains the name of the model, the block id, and the variables within this model |
Cfmtable_t | This type contains the field types within a field table |
Cfmtype_t | This type represents the entries for a specific field type, e.g. a tracer. This type contains the name of the field type, the block id, and the models within this field type |
Cfmvar_t | This type represents the entries for a given variable, e.g. dust. This type contains the name of the variable, the block id, the key/value pairs for the variable's parameters, and any applicable subparameters |
▼Nfms2_io_mod | |
Cclose_file | Close a netcdf or domain file opened with open_file or open_virtual_file |
Copen_file | Opens a given netcdf or domain file |
Copen_virtual_file | Creates a diskless netcdf or domain file |
Cread_data | Read data from a defined field in a file |
Cread_new_restart | Read registered restarts from a new file Optionally takes directory to write to, model time and filename Example usage: call read_new_restart(fileobj, unlimted_dimension_level) |
Cread_restart | Reads in restart variables from a given file Example usage: call read_restart(fileobj) Reads registered restart variables from fileobj |
Cregister_axis | Add a dimension to a given file |
Cregister_field | Defines a new field within the given file Example usage: |
Cregister_restart_field | Similar to register_field, but occupies the field with data for restarts Example usage: |
Cwrite_data | Write data to a defined field within a file Example usage: |
Cwrite_new_restart | Writes all restart fields in a given restart file to a new restart file Example usage: |
Cwrite_restart | Writes all restart fields registered within a given restart file Example usage: |
▼Nfms_affinity_mod | |
Cfms_affinity_get | Interface to get affinity from the current component |
Cget_cpuset | Private interface to retrieve this groups CPU set and it's size |
Cset_cpu_affinity | Private interface to set CPU afinity to a given core |
▼Nfms_diag_axis_object_mod | |
Cdiagdomain1d_t | Type to hold the 1d domain |
Cdiagdomain2d_t | Type to hold the 2d domain |
Cdiagdomain_t | Type to hold the domain info for an axis This type was created to avoid having to send in "Domain", "Domain2", "DomainUG" as arguments into subroutines and instead only 1 class(diagDomain_t) argument can be send |
Cdiagdomainug_t | Type to hold the unstructured domain |
Cfmsdiagaxis_type | Type to hold the diagnostic axis description |
Cfmsdiagaxiscontainer_type | Type to hold the diag_axis (either subaxis or a full axis) |
Cfmsdiagdiurnalaxis_type | Type to hold the diurnal axis |
Cfmsdiagfullaxis_type | Type to hold the diagnostic axis description |
Cfmsdiagsubaxis_type | Type to hold the subaxis |
▼Nfms_diag_bbox_mod | |
Cfmsdiagboundshalos_type | Data structure holding starting and ending indices in the I, J, and K dimensions. It also has extra members related to halo sizes and updated indices in I and J dimensions |
Cfmsdiagibounds_type | Data structure holding a 3D bounding box. It is commonlyused to represent the interval bounds or limits of a 3D sub-array such as the array index bounds of the spatial component a diag_manager field output buffer array |
▼Nfms_diag_elem_weight_procs_mod | |
Caddwf | Interface for the elemental function addwf, which Calculates and returns the value given by this formula: returned_value = buff + (weight * field)**pow_value |
▼Nfms_diag_field_object_mod | |
Cfmsdiagfield_type | Object that holds all variable information |
▼Nfms_diag_fieldbuff_update_mod | |
Cfieldbuff_copy_fieldvals | Interface fieldbuff_copy_fieldvals updates elements of the field output buffer with copies of corresponding element values in the input field data |
Cfieldbuff_copy_missvals | Interface fieldbuff_copy_missvals updates elements of the field output buffer with the missvalue input argument |
Cfieldbuff_update | Interface fieldbuff_update updates elements of field output buffer based on input field data and mathematical operations on the field data |
▼Nfms_diag_file_object_mod | |
Cfmsdiagfile_type | |
Cfmsdiagfilecontainer_type | A container for fmsDiagFile_type. This is used to create the array of files |
Csubregionalfile_type | |
▼Nfms_diag_input_buffer_mod | |
Cappend_data_buffer | Appends the input_data_buffer and the mask (only when the mask is set to .True.) |
Cfmsdiaginputbuffer_t | Type to hold the information needed for the input buffer This is used when set_math_needs_to_be_done = .true. (i.e calling send_data from an openmp region with multiple threads) |
Csum_data_buffer | Sums the data in the input_data_buffer |
▼Nfms_diag_object_mod | |
Cfmsdiagobject_type | |
▼Nfms_diag_outfield_mod | |
Cfmsdiagoutfield_type | Class fmsDiagOutfield_type (along with class ms_diag_outfield_index_type ) contain information used in updating the output buffers by the diag_manager send_data routines. In some sense they can be seen as encapsulating related information in a convenient way (e.g. to pass to functions and for do loop controls.) |
Cfmsdiagoutfieldindex_type | Class fms_diag_outfield_index_type which (along with class fmsDiagOutfield_type) encapsulate related information used in updating the output buffers by the diag_manager send_data routines. This class in particular focuses on do loop index controls or settings. Note that the index names in this class should be indentical to the names used in the diag_manager send_data functions and in the "math" buffer update functions. The purpose of this class is also to allow for a smaller call function signature for the math/buffer update functions |
▼Nfms_diag_output_buffer_mod | Contains buffer types and routines for the diag manager |
Cfmsdiagoutputbuffer_type | Holds an allocated buffer0-5d object |
▼Nfms_diag_reduction_methods_mod | |
Cdo_time_max | Does the time_max reduction method. See include/fms_diag_reduction_methods.inc |
Cdo_time_min | Does the time_min reduction method. See include/fms_diag_reduction_methods.inc |
Cdo_time_none | Does the time_none reduction method. See include/fms_diag_reduction_methods.inc |
Cdo_time_sum_update | Sum update updates the buffer for any reductions that involve summation (ie. time_sum, avg, rms, pow) TODO This needs to be extended to integers |
Ctime_update_done | Finishes a reduction that involves an average (ie. time_avg, rms, pow) This takes the average at the end of the time step |
▼Nfms_diag_time_reduction_mod | |
Cfmsdiagtimereduction_type | |
▼Nfms_diag_yaml_mod | |
Cdiagyamlfiles_type | Type to hold the diag_file information |
Cdiagyamlfilesvar_type | Type to hold the info a diag_field |
Cdiagyamlobject_type | Object that holds the information of the diag_yaml |
Cfilelist_type | Type to hold an array of sorted diag_files |
Csubregion_type | Type to hold the sub region information about a file |
Cvarlist_type | Type to hold an array of sorted diag_fiels |
▼Nfms_io_utils_mod | |
Callocate_array | |
Cchar_linked_list | A linked list of strings |
Cget_array_section | |
Cget_data_type_string | |
Cget_mosaic_tile_file | |
Cparse_mask_table | |
Cput_array_section | |
▼Nfms_mod | |
Cmonotonic_array | |
Cnml_errors_type | Namelist read error values |
▼Nfms_netcdf_domain_io_mod | |
Ccompute_global_checksum | |
Cdomaindimension_t | Domain variable |
Cfmsnetcdfdomainfile_t | Netcdf domain file type |
▼Nfms_netcdf_unstructured_domain_io_mod | |
Cfmsnetcdfunstructureddomainfile_t | Netcdf unstructured domain file type |
▼Nfms_string_utils_mod | |
Cc_free | Frees a C pointer |
Cc_strlen | Finds the length of a C-string |
Cfms_c2f_string | Converts a C string to a Fortran string |
Cfms_cstring2cpointer | Converts a kind=c_char to type c_ptr |
Cfms_find_my_string_binding | Private c function that finds a string in a SORTED array of c pointers |
Cfms_find_unique | C function that finds the number of unique strings in an array of c pointers |
Cfms_sort_this | Sorts an array of pointers (my pointer) of size (p_size) in alphabetical order |
Cstringify | Converts an array of real numbers to a string |
▼Nfms_yaml_output_mod | |
Cfmsyamloutkeys_type | Keys for the output yaml on a given level corresponding to the struct in yaml_output_functions.c Should be set using the fms_f2c_string routine to get properly formatted c style strings level2keys should be set with add_level2key() |
Cfmsyamloutvalues_type | Values for the output yaml on a given level corresponding to the struct in yaml_output_functions.c |
Cwrite_yaml_from_struct_3 | |
Cyaml_out_add_level2key_c | Adds a level 2 key (key that starts new tabbed section) to the list. yaml_out_add_level2key (wrapper routine) should be used instead |
▼Ngaussian_topog_mod | |
Cgaussian_topog_init | |
Cget_gaussian_topog | |
▼Nget_cal_time_mod | |
Cget_cal_time | Added for mixed precision support. Updates force time_manager math to be done with kind=8 reals _wrap just casts a passed in r4 to r8 and calls r8 version |
▼Nget_grid_version_mod | |
Cget_grid_version_1 | |
Cget_grid_version_2 | |
▼Ngrid2_mod | |
Cget_grid_cell_area | Finds area of a grid cell |
Cget_grid_cell_centers | Gets grid cell centers |
Cget_grid_cell_vertices | Gets arrays of global grid cell boundaries for given model component and mosaic tile number |
Cget_grid_comp_area | Gets the area of a given component per grid cell |
Cget_grid_size | Gets the size of the grid for one or all tiles |
▼Nhoriz_interp_bicubic_mod | |
Cbcucof | |
Cbcuint | |
Cfill_xy | |
Choriz_interp_bicubic | Perform bicubic horizontal interpolation |
Choriz_interp_bicubic_new | Creates a new horiz_interp_type for bicubic interpolation. Allocates space and initializes a derived-type variable that contains pre-computed interpolation indices and weights |
Cindl | Find the lower neighbour of xf in field xc, return is the index |
Cindu | Find the upper neighbour of xf in field xc, return is the index |
▼Nhoriz_interp_bilinear_mod | |
Choriz_interp_bilinear | |
Choriz_interp_bilinear_new | Creates a horiz_interp_type for bilinear interpolation |
Choriz_interp_read_weights_bilinear | Subroutines for reading in weight files and using that to fill in the horiz_interp type instead calculating it |
Cintersect | |
▼Nhoriz_interp_conserve_mod | |
Cdata_sum | Private helper routines |
Choriz_interp_conserve | |
Choriz_interp_conserve_new | Allocates space and initializes a derived-type variable that contains pre-computed interpolation indices and weights |
Choriz_interp_conserve_version1 | |
Choriz_interp_conserve_version2 | |
Cstats | |
▼Nhoriz_interp_mod | |
Choriz_interp | Subroutine for performing the horizontal interpolation between two grids |
Choriz_interp_new | Allocates space and initializes a derived-type variable that contains pre-computed interpolation indices and weights |
Choriz_interp_read_weights | Subroutines for reading in weight files and using that to fill in the horiz_interp type instead calculating it |
Choriz_interp_solo_1d | |
Cis_lat_lon | Private helper routines |
▼Nhoriz_interp_spherical_mod | |
Cfull_search | Private helper routines |
Choriz_interp_spherical | |
Choriz_interp_spherical_new | |
Choriz_interp_spherical_wght | |
Cradial_search | |
Cspherical_distance | |
▼Nhoriz_interp_type_mod | |
Cassignment(=) | |
Choriz_interp_type | Holds data pointers and metadata for horizontal interpolations, passed between the horiz_interp modules |
Chorizinterpreals4_type | Holds real(4) pointers for use in horiz_interp_type |
Chorizinterpreals8_type | Real(8) pointers for use in horiz_interp_type |
Cstats | |
▼Ninterpolator_mod | |
Cassignment(=) | Private assignment override interface for interpolate type |
Ccart_to_latlon | |
Ccell_center2 | |
Cdiag_read_data | |
Cfms2io_interpolator_init | |
Cget_axis_latlon_data | |
Cget_axis_level_data | |
Cinterp_linear | |
Cinterp_weighted_scalar | Private interface for weighted scalar interpolation |
Cinterpolate_r4_type | Redundant climatology data between fields |
Cinterpolate_r8_type | |
Cinterpolate_type | |
Cinterpolator | Interpolates a field to a model grid |
Cinterpolator_init | |
Clatlon2xyz | |
Cread_data | |
Cread_data_no_time_axis | |
▼Nmersennetwister_mod | |
Cnew_randomnumbersequence | |
Crandomnumbersequence | The type containing the state variable |
▼Nmonin_obukhov_inter | |
Cmonin_obukhov_derivative_m | |
Cmonin_obukhov_derivative_t | |
Cmonin_obukhov_diff | |
Cmonin_obukhov_drag_1d | |
Cmonin_obukhov_integral_m | |
Cmonin_obukhov_integral_tq | |
Cmonin_obukhov_profile_1d | |
Cmonin_obukhov_solve_zeta | |
Cmonin_obukhov_stable_mix | |
▼Nmonin_obukhov_mod | |
Cmo_derivative_m | |
Cmo_derivative_t | |
Cmo_diff | |
Cmo_drag | Compute surface drag coefficients |
Cmo_integral_m | |
Cmo_integral_tq | |
Cmo_profile | |
Cstable_mix | |
▼Nmosaic2_mod | |
Ccalc_mosaic_grid_area | |
Ccalc_mosaic_grid_great_circle_area | |
Cget_mosaic_xgrid | |
Cis_inside_polygon | |
▼Nmpp_domains_mod | |
Ccheck_data_size | Private interface for internal usage, compares two sizes |
Ccontact_type | Type used to represent the contact between tiles |
Cdomain1d | One dimensional domain used to manage shared data access between pes |
Cdomain1d_spec | A private type used to specify index limits for a domain decomposition |
Cdomain2d | The domain2D type contains all the necessary information to define the global, compute and data domains of each task, as well as the PE associated with the task. The PEs from which remote data may be acquired to update the data domain are also contained in a linked list of neighbours |
Cdomain2d_spec | Private type to specify multiple index limits and pe information for a 2D domain |
Cdomain_axis_spec | Used to specify index limits along an axis of a domain |
Cdomaincommunicator2d | Used for sending domain data between pe's |
Cdomainug | Domain information for managing data on unstructured grids |
Cindex_type | Index bounds for use in nestSpec |
Cmpp_broadcast_domain | Broadcasts domain to every pe. Only useful outside the context of it's own pelist |
Cmpp_check_field | Parallel checking between two ensembles which run on different set pes at the same time There are two forms for the mpp_check_field call. The 2D version is generally to be used and 3D version is built by repeated calls to the 2D version.Example usage: |
Cmpp_complete_do_update | Private interface used for non blocking updates |
Cmpp_complete_group_update | Completes a pending non-blocking group update Must follow a call to mpp_start_group_update |
Cmpp_complete_update_domains | Must be used after a call to mpp_start_update_domains in order to complete a nonblocking domain update. See mpp_start_update_domains for more info |
Cmpp_copy_domain | Copy 1D or 2D domain |
Cmpp_create_group_update | Constructor for the mpp_group_update_type which is then used with mpp_start_group_update |
Cmpp_deallocate_domain | Deallocate given 1D or 2D domain |
Cmpp_define_domains | Set up a domain decomposition |
Cmpp_define_layout | Retrieve layout associated with a domain decomposition. Given a global 2D domain and the number of divisions in the decomposition ndivs (usually the PE count unless some domains are masked) this calls returns a 2D domain layout. By default, mpp_define_layout will attempt to divide the 2D index space into domains that maintain the aspect ratio of the global domain. If this cannot be done, the algorithm favours domains that are longer in x than y, a preference that could improve vector performance. Example usage: |
Cmpp_define_null_domain | Defines a nullified 1D or 2D domain |
Cmpp_do_check | Private interface to updates data domain of 3D field whose computational domains have been computed |
Cmpp_do_get_boundary | |
Cmpp_do_get_boundary_ad | |
Cmpp_do_global_field | Private helper interface used by mpp_global_field |
Cmpp_do_global_field_a2a | |
Cmpp_do_global_field_ad | |
Cmpp_do_group_update | |
Cmpp_do_redistribute | |
Cmpp_do_update | Private interface used for mpp_update_domains |
Cmpp_do_update_ad | Passes a data field from a unstructured grid to an structured grid Example usage: |
Cmpp_do_update_nest_coarse | Used by mpp_update_nest_coarse to perform domain updates |
Cmpp_do_update_nest_fine | |
Cmpp_get_boundary | Get the boundary data for symmetric domain when the data is at C, E, or N-cell center. mpp_get_boundary is used to get the boundary data for symmetric domain when the data is at C, E, or N-cell center. For cubic grid, the data should always at C-cell center. Example usage: |
Cmpp_get_boundary_ad | |
Cmpp_get_compute_domain | These routines retrieve the axis specifications associated with the compute domains. The domain is a derived type with private elements. These routines retrieve the axis specifications associated with the compute domains The 2D version of these is a simple extension of 1D. Example usage: |
Cmpp_get_compute_domains | Retrieve the entire array of compute domain extents associated with a decomposition |
Cmpp_get_data_domain | These routines retrieve the axis specifications associated with the data domains. The domain is a derived type with private elements. These routines retrieve the axis specifications associated with the data domains. The 2D version of these is a simple extension of 1D. Example usage: |
Cmpp_get_domain_extents | |
Cmpp_get_f2c_index | Get the index of the data passed from fine grid to coarse grid. Example usage: |
Cmpp_get_global_domain | These routines retrieve the axis specifications associated with the global domains. The domain is a derived type with private elements. These routines retrieve the axis specifications associated with the global domains. The 2D version of these is a simple extension of 1D. Example usage: |
Cmpp_get_global_domains | |
Cmpp_get_layout | Retrieve layout associated with a domain decomposition The 1D version of this call returns the number of divisions that was assigned to this decomposition axis. The 2D version of this call returns an array of dimension 2 holding the results on two axes. Example usage: |
Cmpp_get_memory_domain | These routines retrieve the axis specifications associated with the memory domains. The domain is a derived type with private elements. These routines retrieve the axis specifications associated with the memory domains. The 2D version of these is a simple extension of 1D. Example usage: |
Cmpp_get_neighbor_pe | Retrieve PE number of a neighboring domain |
Cmpp_get_pelist | Retrieve list of PEs associated with a domain decomposition. The 1D version of this call returns an array of the PEs assigned to this 1D domain decomposition. In addition the optional argument pos may be used to retrieve the 0-based position of the domain local to the calling PE, i.e., domain%list(pos)%pe is the local PE, as returned by mpp_pe(). The 2D version of this call is identical to 1D version |
Cmpp_global_field | Fill in a global array from domain-decomposed arrays. |
Cmpp_global_field_ad | |
Cmpp_global_field_ug | Same functionality as mpp_global_field but for unstructured domains |
Cmpp_global_max | Global max of domain-decomposed arrays. mpp_global_max is used to get the maximum value of a domain-decomposed array on each PE. MPP_TYPE_can be of type integer or real; of 4-byte or 8-byte kind; of rank up to 5. The dimension of locus must equal the rank of field. All PEs in a domain decomposition must call mpp_global_max, and each will have the result upon exit. The function mpp_global_min, with an identical syntax. is also available |
Cmpp_global_min | Global min of domain-decomposed arrays. mpp_global_min is used to get the minimum value of a domain-decomposed array on each PE. MPP_TYPE_can be of type integer or real; of 4-byte or 8-byte kind; of rank up to 5. The dimension of locus must equal the rank of field. All PEs in a domain decomposition must call mpp_global_min, and each will have the result upon exit. The function mpp_global_max, with an identical syntax. is also available |
Cmpp_global_sum | Global sum of domain-decomposed arrays. mpp_global_sum is used to get the sum of a domain-decomposed array on each PE. MPP_TYPE_ can be of type integer, complex, or real; of 4-byte or 8-byte kind; of rank up to 5 |
Cmpp_global_sum_ad | |
Cmpp_global_sum_tl | |
Cmpp_group_update_type | Used for updates on a group |
Cmpp_modify_domain | Modifies the extents (compute, data and global) of a given domain |
Cmpp_nullify_domain_list | Nullify domain list. This interface is needed in mpp_domains_test. 1-D case can be added in if needed. Example usage: |
Cmpp_pass_sg_to_ug | Passes data from a structured grid to an unstructured grid Example usage: |
Cmpp_pass_ug_to_sg | Passes a data field from a structured grid to an unstructured grid Example usage: |
Cmpp_redistribute | Reorganization of distributed global arrays. mpp_redistribute is used to reorganize a distributed array. MPP_TYPE_can be of type integer, complex, or real; of 4-byte or 8-byte kind; of rank up to 5. Example usage: call mpp_redistribute( domain_in, field_in, domain_out, field_out ) |
Cmpp_reset_group_update_field | |
Cmpp_set_compute_domain | These routines set the axis specifications associated with the compute domains. The domain is a derived type with private elements. These routines set the axis specifications associated with the compute domains The 2D version of these is a simple extension of 1D. Example usage: |
Cmpp_set_data_domain | These routines set the axis specifications associated with the data domains. The domain is a derived type with private elements. These routines set the axis specifications associated with the data domains. The 2D version of these is a simple extension of 1D. Example usage: |
Cmpp_set_global_domain | These routines set the axis specifications associated with the global domains. The domain is a derived type with private elements. These routines set the axis specifications associated with the global domains. The 2D version of these is a simple extension of 1D. Example usage: |
Cmpp_start_do_update | Private interface used for non blocking updates |
Cmpp_start_group_update | Starts non-blocking group update Must be followed up with a call to mpp_complete_group_update mpp_group_update_type can be created with mpp_create_group_update |
Cmpp_start_update_domains | Interface to start halo updates mpp_start_update_domains is used to start a halo update of a domain-decomposed array on each PE. MPP_TYPE_ can be of type complex, integer, logical or real; of 4-byte or 8-byte kind; of rank up to 5. The vector version (with two input data fields) is only present for \ereal types. \empp_start_update_domains must be paired together with \empp_complete_update_domains. In mpp_start_update_domains, a buffer will be pre-post to receive (non-blocking) the data and data on computational domain will be packed and sent (non-blocking send) to other processor. In mpp_complete_update_domains, buffer will be unpacked to fill the halo and mpp_sync_self will be called to to ensure communication safe at the last call of mpp_complete_update_domains. Each mpp_update_domains can be replaced by the combination of mpp_start_update_domains and mpp_complete_update_domains. The arguments in mpp_start_update_domains and mpp_complete_update_domains should be the exact the same as in mpp_update_domains to be replaced except no optional argument "complete". The following are examples on how to replace mpp_update_domains with mpp_start_update_domains/mpp_complete_update_domains |
Cmpp_update_domains | Performs halo updates for a given domain. |
Cmpp_update_domains_ad | Similar to mpp_update_domains , updates adjoint domains |
Cmpp_update_nest_coarse | Pass the data from fine grid to fill the buffer to be ready to be interpolated onto coarse grid. Example usage: |
Cmpp_update_nest_fine | Pass the data from coarse grid to fill the buffer to be ready to be interpolated onto fine grid. Example usage: |
Cnest_domain_type | Domain with nested fine and course tiles |
Cnest_level_type | Private type to hold data for each level of nesting |
Cnestspec | Used to specify bounds and index information for nested tiles as a linked list |
Cnonblock_type | Used for nonblocking data transfer |
Coperator(.eq.) | Equality/inequality operators for domaintypes. |
Coperator(.ne.) | |
Coverlap_type | Type for overlapping data |
Coverlapspec | Private type for overlap specifications |
Ctile_type | Upper and lower x and y bounds for a tile |
Cunstruct_axis_spec | Private type for axis specification data for an unstructured grid |
Cunstruct_domain_spec | Private type for axis specification data for an unstructured domain |
Cunstruct_overlap_type | Private type |
Cunstruct_pass_type | Private type |
▼Nmpp_efp_mod | |
Cassignment(=) | Assignment override interface for mpp_efp_type |
Cmpp_efp_type | The Extended Fixed Point (mpp_efp) type provides a public interface for doing sums and taking differences with this type |
Cmpp_reproducing_sum | This interface uses a conversion to an integer representation of real numbers to give order-invariant sums that will reproduce across PE count |
Coperator(+) | Operator override interface for mpp_efp_type |
Coperator(-) | Operator override interface for mpp_efp_type |
▼Nmpp_io_mod | |
Catttype | |
Caxistype | |
Cfieldtype | |
Cfiletype | |
Cmpp_copy_meta | |
Cmpp_def_dim | |
Cmpp_get_att_value | |
Cmpp_get_atts | Get file global metadata |
Cmpp_get_id | |
Cmpp_io_unstructured_read | |
Cmpp_io_unstructured_write | |
Cmpp_modify_meta | |
Cmpp_read | |
Cmpp_read_compressed | |
Cmpp_read_distributed_ascii | |
Cmpp_write | |
Cmpp_write_compressed | |
Cmpp_write_meta | Each file can contain any number of fields, which can be functions of 0-3 spatial axes and 0-1 time axes. Axis descriptors are stored in the <axistype> structure and field descriptors in the <fieldtype> structure |
Cmpp_write_unlimited_axis | |
Cvalidtype | |
Cwrite_record | |
▼Nmpp_mod | |
Carray_to_char | Takes a given integer or real array and returns it as a string |
Cclock | Clock contains an array of event profiles for a region |
Cclock_data_summary | Summary of information from a clock run |
Ccommunicator | Communication information for message passing libraries |
Cevent | Communication event profile |
Cmpp_alltoall | Scatter a vector across all PEs |
Cmpp_broadcast | Perform parallel broadcasts |
Cmpp_chksum | Calculate parallel checksums |
Cmpp_error | Error handler |
Cmpp_gather | Gather data sent from pelist onto the root pe Wrapper for MPI_gather, can be used with and without indices |
Cmpp_max | Reduction operations. Find the max of scalar a from the PEs in pelist result is also automatically broadcast to all PEs |
Cmpp_min | Reduction operations. Find the min of scalar a from the PEs in pelist result is also automatically broadcast to all PEs |
Cmpp_recv | Recieve data from another PE |
Cmpp_scatter | Scatter (ie - is) * (je - js) contiguous elements of array data from the designated root pe into contigous members of array segment in each pe that is included in the pelist argument |
Cmpp_send | Send data to a receiving PE |
Cmpp_sum | Reduction operation |
Cmpp_sum_ad | Calculates sum of a given numerical array across pe's for adjoint domains |
Cmpp_transmit | Basic message-passing call |
Cmpp_type | Data types for generalized data transfer (e.g. MPI_Type) |
Cmpp_type_create | Create a mpp_type variable |
Cmpp_type_list | Persisent elements for linked list interaction |
Csummary_struct | Holds name and clock data for use in mpp_util.h |
▼Nmpp_pset_mod | |
Cmpp_pset_broadcast_ptr | |
Cmpp_pset_print_chksum | |
Cmpp_pset_type | |
Cmpp_recv_ptr | |
Cmpp_send_ptr | |
▼Nnetcdf_io_mod | |
Cbc_information | Information needed fr regional restart variables |
Ccompressed_write | |
Ccompresseddimension_t | Compressed dimension |
Cdimension_information | Information about the current dimensions for regional restart variables |
Cfmsnetcdffile_t | Netcdf file type |
Cgather_data_bc | |
Cget_global_attribute | |
Cget_variable_attribute | |
Cis_valid | The interface is needed to accomodate pgi because it can't handle class * and there was no other way around it |
Cnetcdf_add_restart_variable | |
Cnetcdf_read_data | |
Cnetcdf_write_data | |
Cregister_global_attribute | |
Cregister_variable_attribute | |
Crestartvariable_t | Restart variable |
Cscatter_data_bc | |
Cvalid_t | Range type for a netcdf variable |
▼Nrandom_numbers_mod | |
Cgetrandomnumbers | Returns scalar, 1 or 2 D random real numbers |
Cinitializerandomnumberstream | Initializes stream for generating random numbers |
Crandomnumberstream | Type to hold a stream of randomly generated numbers |
▼Nsat_vapor_pres_k_mod | |
Ccompute_es_k | |
Ccompute_es_liq_ice_k | |
Ccompute_es_liq_k | |
Ccompute_mrs_k | |
Ccompute_qs_k | |
Clookup_des2_k | |
Clookup_des3_k | |
Clookup_des_k | |
Clookup_es2_des2_k | |
Clookup_es2_k | |
Clookup_es3_des3_k | |
Clookup_es3_k | |
Clookup_es_des_k | |
Clookup_es_k | |
Csat_vapor_pres_init_k | |
▼Nsat_vapor_pres_mod | |
Ccheck_1d | |
Ccheck_2d | |
Ccompute_mrs | For the given temperatures, pressures and optionally vapor mixing ratio, returns the vapor mixing ratio at saturation (optionally at relative humidity hc instead of at saturation) and optionally the derivative of saturation vapor mixing ratio w.r.t. temperature, and the saturation vapor pressure |
Ccompute_qs | For the given temperatures, pressures and optionally vapor specific humidity, returns the specific humidity at saturation (optionally at relative humidity hc instead of at saturation) and optionally the derivative of saturation specific humidity w.r.t. temperature, and the saturation vapor pressure |
Cdescomp | Provided for backward compatibility (to be removed soon) |
Cescomp | Provided for backward compatibility (to be removed soon) |
Clookup_des | For the given temperatures, returns the derivative of saturation vapor pressure with respect to temperature |
Clookup_des2 | |
Clookup_des3 | |
Clookup_es | For the given temperatures, returns the saturation vapor pressures |
Clookup_es2 | |
Clookup_es2_des2 | |
Clookup_es3 | |
Clookup_es3_des3 | |
Clookup_es_des | For the given temperatures, returns the saturation vapor pressure and the derivative of saturation vapor pressure with respect to temperature |
Cshow_all_bad | |
Ctemp_check | |
▼Nstock_constants_mod | |
Cstock_type | Holds stocks amounts per PE values |
▼Ntime_interp_external2_mod | |
Cext_fieldtype | Represents external fields |
Cfiletype | Holds filename and file object |
Ctime_interp_external | Provide data from external file interpolated to current model time. Data may be local to current processor or global, depending on "init_external_field" flags. Uses FMS2 IO for I/O |
Ctime_interp_external_bridge | |
▼Ntime_interp_mod | |
Ctime_interp | Returns a weight and dates or indices for interpolating between two dates. The interface fraction_of_year is provided for backward compatibility with the previous version. |
▼Ntime_manager_mod | |
Cassignment(=) | Operator override interface for use with time_type |
Coperator(*) | Operator override interface for use with time_type |
Coperator(+) | Operator override interface for use with time_type |
Coperator(-) | Operator override interface for use with time_type |
Coperator(/) | Operator override interface for use with time_type |
Coperator(//) | Operator override interface for use with time_type |
Coperator(/=) | Operator override interface for use with time_type |
Coperator(<) | Operator override interface for use with time_type |
Coperator(<=) | Operator override interface for use with time_type |
Coperator(==) | Operator override interface for use with time_type |
Coperator(>) | Operator override interface for use with time_type |
Coperator(>=) | Operator override interface for use with time_type |
Creal_to_time_type | Wrapper for the real to time interface Takes seconds as reals to convert to a time_type representation of an interval r4 versions just casts to r8 |
Cset_date | Given an input date in year, month, days, etc., creates a time_type that represents this time interval from the internally defined base date |
Cset_time | Given some number of seconds and days, returns the corresponding time_type |
Ctime_type | Type to represent amounts of time. Implemented as seconds and days to allow for larger intervals |
▼Ntopography_mod | |
Cdetermine_ocean_points | |
Cfind_indices | |
Cget_ocean_frac | Returns fractional area covered by ocean in a grid box. Returns fractional area covered by ocean in the given model grid boxes |
Cget_ocean_mask | Returns a land-ocean mask in a grid box |
Cget_topog_mean | Returns a "realistic" mean surface height field |
Cget_topog_stdev | Returns a standard deviation of higher resolution topography with the given model grid boxes |
Cget_water_frac | Returns fractional area covered by water |
Cget_water_mask | Returns a land-water mask in a grid box |
Cinput_data | |
Cinterp_topog | |
Cinterp_water | |
▼Ntracer_manager_mod | |
Cget_tracer_index | Function which returns the number assigned to the tracer name |
Cinst_type | Private type to represent named instances |
Cset_tracer_profile | |
Ctracer_name_type | Private type to holds string data for a tracer |
Ctracer_type | Private type to hold metadata for a tracer |
▼Ntridiagonal_mod | |
Ctri_invert | Interface to solve tridiagonal systems of equations for either kind value. Module level variables will be deallocated and allocated for every Since this relies on the state of module variables (unless A,B,C are specified) the values stored are distinct for each kind call unless the added optional argument store_both_kinds is true |
Ctridiag_reals_r4 | |
Ctridiag_reals_r8 | |
▼Nxgrid_mod | |
Ccomm_type | Private type used for exchange grid communication |
Cconservation_check | Returns three numbers which are the global sum of a variable |
Cconservation_check_ug | For an unstructured grid, returns three numbers which are the global sum of a variable (1) on its home model grid, (2) after interpolation to the other side grid(s), and (3) after re_interpolation back onto its home side grid(s) |
Cget_area_elements | |
Cget_from_xgrid | Sums data from exchange grid to model grid |
Cget_from_xgrid_ug | get_from_xgrid for unstructured grids |
Cget_nest_contact | |
Cgrid_box_type | Type to hold pointers for grid boxes |
Cgrid_type | Private type to hold all data needed from given grid for an exchange grid |
Coverlap_type | Private type for overlap exchange grid data |
Cput_to_xgrid | Scatters data from model grid onto exchange grid |
Cput_to_xgrid_ug | put_to_xgrid for unstructured grids |
Cset_frac_area | Sets sub-grid area and numbering in the given exchange grid |
Cstock_move | |
Cstock_move_ug | |
Cx1_type | Private type for exchange grid data |
Cx2_type | Private type for exchange grid data |
Cxcell_type | Private type for cell indices and data in the exchange grid |
Cxmap_type | Type for an exchange grid, holds pointers to included grids and any necessary data |
▼Nyaml_parser_mod | |
Cget_block | Private c function that get the block name from a block_id in a yaml file |
Cget_block_ids_all | Private c function that gets the the ids of the blocks with block_name in the yaml file (see yaml_parser_binding.c) |
Cget_block_ids_child | Private c function that gets the the ids of the blocks with block_name and that belong to a parent block id in the yaml file (see yaml_parser_binding.c) |
Cget_key | Private c function that get the key from a key_id in a yaml file |
Cget_key_ids_binding | Private c function that gets the ids of the key-value pairs in a block (see yaml_parser_binding.c) |
Cget_nkeys_binding | Private c function that gets the number of key-value pairs in a block (see yaml_parser_binding.c) |
Cget_num_blocks_all | Private c function that determines the number of blocks with block_name in the yaml file (see yaml_parser_binding.c) |
Cget_num_blocks_child | Private c function that determines the number of blocks with block_name that belong to a parent block with parent_block_id in the yaml file (see yaml_parser_binding.c) |
Cget_num_unique_blocks_bind | Private c function that determines the number of unique blocks that belong to a parent block with parent_block_id in the yaml file (see yaml_parser_binding.c) |
Cget_unique_block_ids_bind | Private c function that gets the the ids of the unique blocks in the yaml file (see yaml_parser_binding.c) |
Cget_value | Private c function that get the value from a key_id in a yaml file |
Cget_value_from_key | Dermine the value of a key from a keyname |
Cget_value_from_key_wrap | Private c function that determines the value of a key in yaml_file (see yaml_parser_binding.c) |
Cis_valid_block_id | Private c function that checks if a block_id is valid (see yaml_parser_binding.c) |
Cis_valid_file_id | Private c function that checks if a file_id is valid (see yaml_parser_binding.c) |
Cis_valid_key_id | Private c function that checks if a key_id is valid (see yaml_parser_binding.c) |
Copen_and_parse_file_wrap | C functions binding |