GithubHelp home page GithubHelp logo

clavrx_merra2's Introduction

  1. You may see a warning of the form:

"UserWarning: WARNING: valid_range not used since it cannot be safely cast to variable data type"

This is not a fatal warning. when python pulls data from the netCDF file during
the enumerate() function, the .valid_range attribute, used for data mask, is not understood
and therefore is not applied. Since the time information in the enumerate()
should not be masked to begin with, this shouldn't be a concern.

  1. FRSEAICE (sea ice-fraction) is the output 'ice fraction' variable, defined in the
    FLX file around Lines 235-241 of merra24clavrx.py. This is done because in comparison to GFS .hdf
    files, it appears the 'ice fraction' variable from GFS is only sea-ice fraction. In addition, the
    MERRA2 ice-fraction variable (FRACI) appears to be broken with fill-values over the ocean, the
    entirety of Antarctica, and most of Greenland. This variable is being collected and passed along to
    .hdf output as 'FRACI' for later fix/use.

  2. Input files are retrieved within the python code using scripts/wget_all.sh Please see [ How to Download Data Files from HTTPS Service with wget ](https://disc.gsfc.nasa.gov/information/howto?keywords=Wget&title=How%20to%20Download%20Data%20Files%20from%20HTTPS%20Service%20with%20wget)

The script calls nine wget scripts but some of the nine files are not currently being used by /clavrx-merra2/merra2/merra24clavrx.py to produce an output file. The
current formulation does not make use of the inst6_3d_ana_Nv file, which contains analysis data on
hybrid sigma-pressure coordinate surfaces. This file was intended to provide the data requested at
the 0.9950 sigma-level, or a level close to it, but it looks like the 10m data is being substituted
and it's working fine.

  1. Currently running the program for one year/month/day at a time using merra24clavrx.py The code needs the appropriate conda environment from merra2_clavrx.yml
    conda activate merra2_clavrx```
  
  
After running the run-script for a selected INPUT_DATE, files will appear in /tmp/out/YYYY/. This  
directory is currently being removed every time the run-script is used, so if you iterate over  
multiple dates, you'll scrub the output on every intermediate date and only have the output for the  
last date. You can get rid of this by commenting-out Lines 24-27 of test_merra24clavrx.sh.


JMF NOTES:
Use test_merra24_brett.sh to test original code.

clavrx_merra2's People

Contributors

joleenf avatar bthoover avatar

clavrx_merra2's Issues

fill value incorrect/sets wrong attribute fill

elif self.out_name == 'rh':
temp_sds = in_sds.variables['T'] # temperature in [K] (Time, Height, Y, X)
temp_k = temp_sds[time_ind]
temp_k = _trim_toa(temp_k)
fill = temp_sds._FillValue
temp_k[temp_k == fill] = np.nan
fill = in_sds.variables[self.in_name]._FillValue
data[data == fill] = np.nan
rh = qv_to_rh(data, temp_k)
rh[np.isnan(rh)] = fill
out_sds.set(_refill(_reshape(rh, self.ndims_out, fill), fill))

In this block, the fill value later written as an attribute to the hdf is set to 1e+15. However, the calculated field (data) is a masked_array with fill_value of 1e+20. This creates a mismatch when the mask array is filled before writing to the hdf.

Also, trim_toa is truncating the levels without checking range.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.