credit.gefs
===========

.. py:module:: credit.gefs


Functions
---------

.. autoapisummary::

   credit.gefs.download_gefs_run
   credit.gefs.load_member_tiles
   credit.gefs.unstagger_winds
   credit.gefs.combine_tiles
   credit.gefs.regrid_member
   credit.gefs.interpolate_vertical_levels
   credit.gefs.combine_microphysics_terms
   credit.gefs.rename_variables
   credit.gefs.process_member


Module Contents
---------------

.. py:function:: download_gefs_run(init_date_str: str, out_path: str, n_pert_members: int = 30)

   Download GEFS cube sphere netCDF files from AWS for a single initialization.

   :param init_date_str: Initialization date in YYYY-MM-DD HHMM format or similar formats that pandas can handle.
   :param out_path: Top-level path to save GEFS data on your local machines.
   :param n_pert_members: Number of perturbation members to download. Max is 30. 0 only downloads the control member


.. py:function:: load_member_tiles(path: str, init_date_str: str, member: str, variables: str)

   :param path:
   :param init_date_str:
   :param member:
   :param variables:

   Returns:



.. py:function:: unstagger_winds(ds, u_var='u_s', v_var='v_w', out_u='u_a', out_v='v_a')

.. py:function:: combine_tiles(member_tiles, flatten_dim='tile_lat_lon', coord_dims=('tile', 'lat', 'lon'))

.. py:function:: regrid_member(member_tiles, regrid_weights_file)

.. py:function:: interpolate_vertical_levels(regrid_ds, member_path, init_date_str, member, vertical_level_file, surface_pressure_var='ps', a_name='hyai', b_name='hybi', vert_dim='lev')

   :param regrid_ds:
   :param member_path:
   :param vertical_level_file:
   :param surface_pressure_var:
   :param a_name:
   :param b_name:
   :param vert_dim:

   Returns:



.. py:function:: combine_microphysics_terms(regrid_ds, microphysics_vars=('sphum', 'liq_wat', 'ice_wat', 'rainwat', 'snowwat', 'graupel'), total_var='Qtot')

.. py:function:: rename_variables(ds, name_dict_file, meta_file, init_date_str)

   Rename variables from GEFS to target modeling system (e.g., ERA5 or CAM) variables. Uses a yaml file
   mapping GEFS to other names. Metadata can be added to the output Dataset using a metadata yaml file.

   :param ds:
   :param name_dict_file:
   :param meta_file:
   :param init_date_str:

   Returns:



.. py:function:: process_member(member, member_path=None, out_path=None, init_date_str=None, variables=None, weight_file='', vertical_level_file='', rename_dict_file='', meta_file='')

