CREATE_GBXBOUNDARIES

Copyright (c) 2024 MPI-M, Clara Bayley

—– CLEO —– File: create_gbxboundaries.py Project: gbxboundariesbinary_src Created Date: Monday 16th October 2023 Author: Clara Bayley (CB) Additional Contributors: —– Last Modified: Tuesday 7th May 2024 Modified By: CB —– License: BSD 3-Clause “New” or “Revised” License https://opensource.org/licenses/BSD-3-Clause —– File Description:

pySD.gbxboundariesbinary_src.create_gbxboundaries.check_halfcoords(grid, coord)[source]

check that x , y or z grid limits are for at least 1 cell with strictly monotonically increasing bounds

pySD.gbxboundariesbinary_src.create_gbxboundaries.ctype_compatible_gridboxboundaries(ndims, idxs, bounds)[source]

check type of gridbox boundaries data is compatible with c type double. If not, change type and raise error

pySD.gbxboundariesbinary_src.create_gbxboundaries.dimless_gridboxboundaries(zgrid, xgrid, ygrid, COORD0)[source]

use zgrid, xgrid and ygrid lists or arrays to create half coords of gridboxes (ie. their boundaries). Return single list of zhalf, then xhalf, then yhalf coords and a list of len(3) which states how many of each z, x and y coords there are

pySD.gbxboundariesbinary_src.create_gbxboundaries.get_COORD0_from_constsfile(constants_filename, returnconsts=False)[source]

create values from constants file required as inputs to create initial superdroplet conditions

pySD.gbxboundariesbinary_src.create_gbxboundaries.get_dimless_halfcoords(grid, coord, COORD0)[source]

given a list or array, return dimensionless halfcoords. For list call “halfcoords_from_coordlims” before de-dimensionalising. For array simply return array / COORD0

pySD.gbxboundariesbinary_src.create_gbxboundaries.gridboxboundaries_from_halfcoords(allhalfcoords, ngridboxes)[source]

returns gbxbounds dictionary. Each key of gbxbounds is a gridbox’s index and the corresponding value is the gridbox’s [zmin, zmax, xmin, xmax, ymin, ymax] boundaries

pySD.gbxboundariesbinary_src.create_gbxboundaries.linearlyspaced_halfcoords(grid)[source]

returns linearly spaced half coords ie. 1D gridbox boundaries given ‘grid’ list of [min coord, max coord, delta coord] for x, y or z

pySD.gbxboundariesbinary_src.create_gbxboundaries.write_gridboxboundaries_binary(grid_filename, zgrid, xgrid, ygrid, constants_filename)[source]

zgrid, xgrid and ygrid can either be list of [min coord, max coord, delta] or they can be arrays of their half coordinates (ie. gridbox boundaries). If the former, first create half coordinates. In both cases, de-dimensionalise and write the boundaries to a binary file, “filename”