Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* SaturationVaporPressureTable code first pass QSatIce missing before test can be done * QSat_Ice_scalar_exact * Fix calculation. Table generates OK. * Fix Murphy and CAM * Rename estimate_table -> table Verbose the README * Functional QSat module. Can handle optional RAMP/PASCALS/DQSAT inputs. Fails to verify at majority of points using original metric, has not been tested with new metrics. Error patterns of the ES tables suggest arise during math within qsat_liquid and qsat_ice. Errors are small (10^-4). Further testing using find_klcl is in process to see if these errors propogate further or are locked within QSat. * More clean up, first attempt at QSat function * Working QSat function. QSat class can still be called outside of stencil to calculate QSat for entire field, or function can be called from within the stencil to calculate QSat at individual points. To use function, the QSat class must be initialized before stencil call and the tables must be passed down to the function as an input. * Minor change for improved DQSAT functionality * Minor change for improved DQSAT functionality * Two new functions: QSat_Float_Liquid and QSat_Float_Ice. These two functions are a port of QSATLQU0/QSATICE0 when UTBL is false. Notable difference from QSat_Float: QSat_Float features a smooth transition from ice to liquid water (based on the TMIX parameter) while these two functions have a hard transition at 0C (should transition from calling one to the other). UNTESTED FOR NOW, NO EASILY ACCESSABLE TEST CASE * Tiny little bugfix fro QSat_Float_Liquid and QSat_Float_Ice * Fixed indexing error in QSat_Float_Liquid/Ice, and inserted a workaround for bad interaction between dace backend and cast to int * Code cleanup, ready to be pulled back into main branch * Few more cleanups, modification to translate test to test sat tables * QSat verifies if tables are read in from netcdf (this is the current state of the code). Generated tables do not yet verify. * Fix run tests * Functional QSat module. Table calculations are still incorrect due to differences between Fortran and C interpretation of constants (see GEOS-ESM/SMT-Nebulae#88 for more information). Table values are instead read in from netCDF file as a temporary solution. * Forgot to apply fix to other QSat functions. All functions now work properly * Linting * Refactor table_method to an enum Rename formulation to types * Clean up translate test Revert run_tests.sh to common one * Revert run_tests.sh to common one * Clean up debug fields for table --------- Co-authored-by: Florian Deconinck <[email protected]> Co-authored-by: Florian Deconinck <[email protected]>
- Loading branch information