New NetCDF interface + support for parallel NetCDF#272
Open
CasparJungbacker wants to merge 64 commits into
Open
New NetCDF interface + support for parallel NetCDF#272CasparJungbacker wants to merge 64 commits into
CasparJungbacker wants to merge 64 commits into
Conversation
Collaborator
Author
|
Setting which I already suspected from looking at the PALM NetCDF code. I.e., we cannot use independent variable access mode on variables with unlimited dimensions. I see two options here:
|
Didn't bother formatting the code, since this module is partially replaced by `modcloudstat` and needs some major work anyway
) * add albedo variable to copyin * Set minimum threshold for friction velocity in modslurb * modslurb: fix incorrect wall/win/road accesses * Modslurb: fix wrong varname bug * modtimestat: prevent reading slurb tile and possibly segfault need to think of some way to allow timestat to interact with modslurb in future * modprecursor: make swap public * modslurb: fix incorrect skin temperature/moisture calculation * modslurb: calculate thl_rad_urb instead of t_rad_urb * Modradiation: allow spatially varying emissivity * thermodynamics: zero ql when a layer is below saturation (#277) * modthermodynamics bugfix: set ql to 0 in layers known to be below saturation * modthermodynamics: remove redundant assignment * Bugfix: tskin * exnr substituted for tskin in DEPAC call * modslurb: fix no index used * Modslurb: ensure a maximum resistance for urban canyon * Modslurb: fix bug where emissivity was rest to 1 * Modnudge: fix wrong read for w, only allocate to kmax, we didnt use k1 * Modslurb: set reference atmosphere level to first half-level * Modprecursor: allow both real32 and real64 swap * modslurb: workaround, avoid initialization with signalling nan on Fujitsu compiler ...because those seem to crash the compiler. * Modsurface: copyin emissivity on GPU * Remove modstringutils, use fortran-support functions instead * Checksim: format * netcdf: only use nchandle_error from modstat_nc * modstat_nc: netcdf debug options * Modnetcdf_files: close output files at exit * Fix fortran-support logging calls being used instead of modlogging * Modstat_nc_files: make close_output_files actually public... * Modstat_nc_files: increase file limit, give good error if too many files * Modstat_nc: more helpful netcdf errors. * fix close_output modules called after exitmpi * Modcrosssection: various fixes * modslurbcrosssection: slurb now has it's own output module with switches * Modcrosssection: output variables thl0,u0,... instead of thlm,um.... * Modcrosssection: update dep,ags,lsm crosssection to new netcdf output * modnetcdf_file_t: fix comment typo * Some formatting and clarifications * modslurb: fix SP compilation --------- Co-authored-by: Fredrik Jansson <fjansson@abo.fi> Co-authored-by: Fredrik Jansson <f.r.jansson@tudelft.nl> Co-authored-by: Leon Geers <leon.geers@tno.nl> Co-authored-by: Caspar Jungbacker <caspar.jungbacker@outlook.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
netcdf_file_twhich is an abstract derived type containing all relevent NetCDF file info. Essentially, this wraps the boiler plate code that was needed for every statistical module (ncname,vars, calls toncinfo,define_ncetc.)netcdf_file_tfor time series, profile, cross section and field dump files. These contain a buffer with the correct dimensions that replace the oldvarsarrays. The buffer can be written to by setting up a pointer using theget_pointermethod of the derived types.modstat_nc_files.f90(name due to change, don't like this one), which keeps track of all output files and does the timekeeping.modstat_nc.f90to support opening NetCDF files in parallel.modcloudstat.f90, which is a re-implementation of some statistical quantities ofmodcape.f90. This module makes use of the new NetCDF interface.TODO:
writestat_nc.modstat_nc_filesloutdirfunctionality