GithubHelp home page GithubHelp logo

ncar / hrldas Goto Github PK

View Code? Open in Web Editor NEW
50.0 23.0 52.0 47.47 MB

HRLDAS (High Resolution Land Data Assimilation System)

License: Other

Makefile 0.04% Fortran 3.80% C 0.04% Forth 0.01% NCL 0.04% Perl 0.04% Python 0.06% Jupyter Notebook 95.94% Shell 0.02%

hrldas's Introduction

DOI

HRLDAS (High Resolution Land Data Assimilation System) Community Model Repository

The High-Resolution Land Data Assimilation System (HRLDAS) is a widely-used open-source offline community framework/driver of land surface models (LSMs). HRLDAS uses a combination of observed and analyzed meterological forcing (precipitation, shortwave and longwave radiation, surface wind, specific humidity, temperature, surface pressure) to drive a LSM to simulate the evolution of land surface states. The system has been developed to leverage the WRF pre-processed input data (e.g., WPS geo_em* file) and conduct computationally-efficient model run to generate more accurate initial land state conditions and/or produce the offline LSM simulations alone for scientific studies.

This is the offical HRLDAS/Noah-MP unified Github repository for code downloading and contribution. Note that the HRLDAS/Noah-MP model is a community model developed with contributions from the entire scientific community. For maintenance and release of this GitHub, please contact: Cenlin He ([email protected]) and Fei Chen ([email protected]).

HRLDAS model website: https://ral.ucar.edu/solutions/products/high-resolution-land-data-assimilation-system-hrldas

Noah-MP model GitHub repository: https://github.com/NCAR/noahmp

To download the HRLDAS/Noah-MP code, use the following command:

git clone --recurse-submodules https://github.com/NCAR/hrldas

If the "--recurse-submodules" is not specified, the Noah-MP source code will not be downloaded.

New: Release of HRLDAS/Noah-MP version 5.0 (Refactored/Modernized version)

This is a new HRLDAS version 5.0 that is coupled with the modernized/refactored Noah-MP model version 5.0. To work with the refactored Noah-MP code structure, some substantial changes have also been made to the HRLDAS code and data structures since this release. Particularly, a new "NoahmpIO" data type has been created, which has been defined in the HRLDAS/Noah-MP interface (driver) part in Noah-MP model repository. All future HRLDAS/Noah-MP developments and updates will be made only to this modernized/refactored version. More detailed information about the model refactoring/modernization is provided in the Noah-MP model repository (https://github.com/NCAR/noahmp) and the new technical documentation (http://dx.doi.org/10.5065/ew8g-yr95).

HRLDAS/Noah-MP technical documentation and model description papers

Technical documentation freely available at http://dx.doi.org/10.5065/ew8g-yr95

To cite the technical documentation: He, C., P. Valayamkunnath, M. Barlage, F. Chen, D. Gochis, R. Cabell, T. Schneider, R. Rasmussen, G.-Y. Niu, Z.-L. Yang, D. Niyogi, and M. Ek (2023): The Community Noah-MP Land Surface Modeling System Technical Description Version 5.0, (No. NCAR/TN-575+STR). doi:10.5065/ew8g-yr95

Original HRLDAS model description paper: Fei Chen, Kevin W. Manning, Margaret A. LeMone, Stanley B. Trier, Joseph G. Alfieri, Rita Roberts, Mukul Tewari, Dev Niyogi, Thomas W. Horst, Steven P. Oncley, Jeffrey B. Basara, and Peter D. Blanken, 2007: Description and Evaluation of the Characteristics of the NCAR High-Resolution Land Data Assimilation System. J. Appl. Meteor. Climatol., 46, 694–713. doi: http://dx.doi.org/10.1175/JAM2463.1

HRLDAS/Noah-MP version 5.0 model description paper: He, C., Valayamkunnath, P., Barlage, M., Chen, F., Gochis, D., Cabell, R., Schneider, T., Rasmussen, R., Niu, G.-Y., Yang, Z.-L., Niyogi, D., and Ek, M.: Modernizing the open-source community Noah with multi-parameterization options (Noah-MP) land surface model (version 5.0) with enhanced modularity, interoperability, and applicability, Geosci. Model Dev., 16, 5131–5151, https://doi.org/10.5194/gmd-16-5131-2023, 2023.

HRLDAS GitHub structure

The folders:

  1. hrldas/: The main hlrdas forcing, driver, and run code folders;

  2. noahmp/: Noah-MP LSM source code that is direclty connected to Noah-MP GitHub repository via submodule;

  3. urban/: Urban model code (currently include WRF-urban models: SLUCM, BEP, BEP_BEM)

The branches:

  1. "master" branch: (currently version 5.0), most stable & latest version, updated whenever there are bug fixes or major model update/release (by merging from the "develop" branch);

  2. "develop" branch: (currently version 5.0), used for continuous HRLDAS/Noah-MP development, keep updated by including bug fixes and code updates (e.g., new physics options, processes, etc.);

  3. other version release branches: archive different released code versions.

Important notes

For users who are interested in previous HRLDAS/Noah-MP code versions (prior to version 5.0), please refer to the different GitHub branches in this repository. Particularly, the "release-v4.5-WRF" branch has the same model physics as version 5.0, but with an old model code structure, which is consistent with the Noah-MP code released along with WRF version 4.5.

Code contribution via GitHub

Users are welcome to make code development and contributions through GitHub pull requests. The pull request will be reviewed by the HRLDAS/Noah-MP model physics and code release team, and if everything looks good, the pull request of new code development or bug fixes will be merged into the develop branch. During each year's major version release period, the updated develop branch will be further merged into the master branch for official release of a new HRLDAS/Noah-MP model version.

Some suggestions for model developers to contribute to HRLDAS code through the GitHub repository (typical procedures):

  1. Step (1) Create a fork of this official HRLDAS repository to your own GitHub account;

  2. Step (2) Create a new branch based on the latest "develop" branch and make code updates/changes in the forked repository under your own account;

  3. Step (3) Finalize and test the code updates you make;

  4. Step (4) Submit a pull request for your code updates from your own forked Github repository to the "develop" branch of this official HRLDAS repository;

  5. Step (5) The HRLDAS/Noah-MP physics and code review committee reviews and tests the model updates in the submitted pull request and discusses with the developer if there is any problem;

  6. Step (6) The HRLDAS/Noah-MP physics and code review committee confirms the pull request and merges the updated code to the "develop" branch in this official HRLDAS repository;

  7. Step (7) The HRLDAS/Noah-MP physics and code review committee merges the updated "develop" branch to the master branch during the annual release of new model versions.

License

The license and terms of use for this software can be found here.

hrldas's People

Contributors

barlage avatar cenlinhe avatar charleszhezhang avatar dmocko avatar ncarchen avatar tslin2 avatar xutr-bnu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hrldas's Issues

Regarding Preprocessing using create_uv.perl file

Hi,
This issue is raised because. while compiling fortran document in the perl file create_UV.perl, it uses a linked library path something like L/home/user/Documents/NCEPLIBS-bacio-develop/NCEPLIBS-w3emc-develop/w3emc/lib -lw. this throws an error 'undefined -lw'. I am not able to figure out which library is this trying to use.
After some research I found this NCEP libs used along with fortran programs called bacio and w3emc. I have installed these libraries. however even when I link the lib directories of these installations the error remains the same. Please help

Maximum number of output results

Hi,I want to know if there is a maximum output count for a single simulation result of a single point? Because when I run a simulation from 2015 to 2100, the prompt shows that it has been run to 2100 and can generate a restart file for 2100. However, the result file only has 24855 counts. This is my namelist.

START_YEAR = 2015
START_MONTH = 01
START_DAY = 01
START_HOUR = 00
START_MIN = 00

RESTART_FILENAME_REQUESTED = "/home/out/35.375_81.125/ACCESS-ESM1-5/historical/RESTART.2015010100_DOMAIN1"

KDAY = 31410
SPINUP_LOOPS = 0

FORCING_NAME_T = "T2D"
FORCING_NAME_Q = "Q2D"
FORCING_NAME_U = "U2D"
FORCING_NAME_V = "V2D"
FORCING_NAME_P = "PSFC"
FORCING_NAME_LW = "LWDOWN"
FORCING_NAME_SW = "SWDOWN"
FORCING_NAME_PR = "RAINRATE"

DYNAMIC_VEG_OPTION = 4
CANOPY_STOMATAL_RESISTANCE_OPTION = 1
BTR_OPTION = 1
SURFACE_RUNOFF_OPTION = 3
SUBSURFACE_RUNOFF_OPTION = 3
DVIC_INFILTRATION_OPTION = 1
SURFACE_DRAG_OPTION = 1
FROZEN_SOIL_OPTION = 1
SUPERCOOLED_WATER_OPTION = 1
RADIATIVE_TRANSFER_OPTION = 3
SNOW_ALBEDO_OPTION = 2
PCP_PARTITION_OPTION = 1
SNOW_THERMAL_CONDUCTIVITY = 1
TBOT_OPTION = 1
TEMP_TIME_SCHEME_OPTION = 1
GLACIER_OPTION = 1
SURFACE_RESISTANCE_OPTION = 1
SOIL_DATA_OPTION = 1
PEDOTRANSFER_OPTION = 1
CROP_OPTION = 1
IRRIGATION_OPTION = 0
IRRIGATION_METHOD = 0
TILE_DRAINAGE_OPTION = 0

FORCING_TIMESTEP = 86400
NOAH_TIMESTEP = 10800
OUTPUT_TIMESTEP = 86400
SPLIT_OUTPUT_COUNT = 99999
SKIP_FIRST_OUTPUT = .false.
RESTART_FREQUENCY_HOURS = 569760

! XSTART = 20
! XEND = 20
! YSTART = 203
! YEND = 203

NSOIL=4
soil_thick_input(1) = 0.10
soil_thick_input(2) = 0.30
soil_thick_input(3) = 0.60
soil_thick_input(4) = 1.00

ZLVL = 10.0

SF_URBAN_PHYSICS = 0
USE_WUDAPT_LCZ = 0

PROBLEM: Requested field name does not match the name in the Vtable entry. when

I tried the workflow of GLDAS to a small DOMAIN(the WPS-4.2 namelist domain key settings: dx = 1000; dy = 100, ref_lat = 35, ref_lon = 105, e_we = 200, e_sn = 200) from 2001010200-2001123100, the Variables I need are successfully extructed in folders as root/extracted/Tair root/extracted/V root/extracted/U root/extracted/LWdown root/extracted/SWdown root/extracted/Wind root/extracted/Snowf root/extracted/Rainf root/extracted/Psurf root/extracted/Qair root/extracted/INIT root/extracted/Precip.
But the last step to creat the forcing data(./create_forcing.exe namelist.input.GLDAS) called a problem:
`$ ./create_forcing.exe namelist.input.GLDAS
11 | 1 | 0 | | T2D | K | Temperature at 2 m | 0 | 0 | 0 | 103 |
51 | 1 | 0 | | Q2D | kg/kg | Specific Humidity at 2 m | 0 | 1 | 0 | 103 |
33 | 1 | 0 | | U2D | m/s | U at 10 m | 0 | 2 | 2 | 103 |
34 | 1 | 0 | | V2D | m/s | V at 10 m | 0 | 2 | 3 | 103 |
1 | 1 | 0 | | PSFC | Pa | Surface Pressure | 0 | 3 | 0 | 1 |
59 | 1 | 0 | | RAINRATE | kg/m^2/s | Precipitation Rate | 0 | 1 | 8 | 1 |
204 | 1 | 0 | | SWDOWN | W/m^2 | Downward short-wave radiation flux | 0 | 4 | 192 | 1 |
205 | 1 | 0 | | LWDOWN | W/m^2 | Downward long-wave radiation flux | 0 | 5 | 192 | 1 |
7 | 1 | 0 | | TERRAIN | m | Terrain field of source analysis | 2 | 0 | 7 | 1 |
138 | 1 | 0 | | TSK | K | Skin temperature | 0 | 0 | 0 | 1 |
65 | 1 | 0 | | SNOW | kg/m^2 | Water equivalent snow depth | 0 | 1 | 13 | 1 |
71 | 1 | 0 | | CANWAT | kg/m^2 | Plant Canopy Surface Water | 2 | 0 | 196 | 1 |
86 | 112 | 0 | 4 | SMOIS_1 | gldas | Soil Moist 0-10 cm below grn layer (Up) | 2 | 0 | 192 | 106 |
86 | 112 | 0 | 3 | SMOIS_2 | gldas | Soil Moist 10-40 cm below grn layer | 2 | 0 | 192 | 106 |
86 | 112 | 0 | 2 | SMOIS_3 | gldas | Soil Moist 40-100 cm below grn layer | 2 | 0 | 192 | 106 |
86 | 112 | 0 | 1 | SMOIS_4 | gldas | Soil Moist 100-200 cm below gr layer | 2 | 0 | 192 | 106 |
85 | 112 | 0 | 4 | STEMP_1 | K | T 0-10 cm below ground layer (Upper) | 2 | 0 | 2 | 106 |
85 | 112 | 0 | 3 | STEMP_2 | K | T 10-40 cm below ground layer (Upper) | 2 | 0 | 2 | 106 |
85 | 112 | 0 | 2 | STEMP_3 | K | T 40-100 cm below ground layer (Upper) | 2 | 0 | 2 | 106 |
85 | 112 | 0 | 1 | STEMP_4 | K | T 100-200 cm below ground layer (Bottom)| 2 | 0 | 2 | 106 |
geo_em_flnm = "/data/home/jiangjh/NoahMP/quyu/geo_em.d01.nc"
flnm = /data/home/jiangjh/NoahMP/quyu/geo_em.d01.nc
Done with subroutine read_geo_em_file
Date = 2001-01-02_00 ihour = 0
: Checking for file '/data/home/jiangjh/NoahMP/quyu/extracted/Tair/GLDAS_Tair_f_inst_2001010200'
: Found file /data/home/jiangjh/NoahMP/quyu/extracted/Tair/GLDAS_Tair_f_inst_2001010200
Returning error from read_grib_unit: nunit = *** ierr = 1
/data/home/jiangjh/NoahMP/quyu/extracted/Tair/GLDAS_Tair_f_inst_2001010200
Returning error flag from get_single_datastruct_from_grib (1)
gribunit = 19112640
flnm = /data/home/jiangjh/NoahMP/quyu/extracted/Tair/GLDAS_Tair_f_inst_2001010200
ierr = 1




***** Requested field name: 'T2D'
***** Field name in the Vtable entry: 'ŧ


***** Please check your VTable entries and filename templates in your namelist
***** to be sure you are getting the fields you think you are getting.
********************************************************************************`
It seems like have something wrong when reading the GRIB data, but I can't deal with it. Can you give some help and idea?
Here's the data in extructed
GLDAS.zip

Noah-MP Docker Container Setup (Windows): Regression Test Failed

Hello. I am following the tutorial to setup NoahMP using the Docker container on Windows. I was able to download the UFS/Noah-MP Component Model but there was an error during the test. Any guidance would be greatly appreciated.

Sincerely,
Leia Pauline

Please see below for the error received,
UFS_tasks : 6
FAILED TESTS:
001 datm_cdeps_lnd_era5_gnu failed in check_result
REGRESSION TEST FAILED
Elapsed time: 00h:03m:41s. Have a nice day!
rt.sh finished,

and a snippet of the log_local file,
baseline dir = /opt/RT/NEMSfv3gfs/develop-20231003/datm_cdeps_lnd_era5_gnu
working dir = /opt/scratch/root/FV3_RT/rt_575/datm_cdeps_lnd_era5_gnu
Checking test 001 datm_cdeps_lnd_era5_gnu results ....
Comparing ufs.cpld.lnd.out.2011-01-01-43200.tile1.nc .........NOT OK
Comparing ufs.cpld.lnd.out.2011-01-01-43200.tile2.nc .........NOT OK
Comparing ufs.cpld.lnd.out.2011-01-01-43200.tile3.nc .........NOT OK
Comparing ufs.cpld.lnd.out.2011-01-01-43200.tile4.nc .........NOT OK
Comparing ufs.cpld.lnd.out.2011-01-01-43200.tile5.nc .........NOT OK
Comparing ufs.cpld.lnd.out.2011-01-01-43200.tile6.nc .........NOT OK
Test 001 datm_cdeps_lnd_era5_gnu FAIL.

Output netcdf format from HRLDAS

I am forcing HRLDAS from GLDAS data , i have a big domain of 7kms , but as the domain size is big the size of the restart file is exceeding 2.2 GB , as the output nrecdf format is classic net-cdf , the model is blowing off. Please help me to change the output format type from the model.

opposite direction of ground heat flux in urban models with Noah-MP land surface model

The ground heat flux in Noah-MP is downwards positive from surface, but it is downwards negative from surface in Noah land surface model (LSM).

To keep the same direction of ground heat flux between urban models (SLUCM, BEP, or BEM) and the land surface model (Noah or Noah-MP) is required to calculate surface energy balance at the grid mean level.

In Noah LSM, the ground heat flux direction is the same as urban models, but differ in Noah-MP.

To make the same direction using SLUCM with Noah-MP LSM at the grid mean level.

GRDFLX(I,J) = FRC_URB2D(I,J) * (G_URB) + (1-FRC_URB2D(I,J)) * GRDFLX(I,J) ![W/m/m]

should revise to
GRDFLX(I,J) = FRC_URB2D(I,J) * (-1.0 * G_URB) + (1-FRC_URB2D(I,J)) * GRDFLX(I,J) ![W/m/m]

and for BEP, BEM

grdflx(i,j) = (1.-frc_urb2d(i,j))*grdflx_rural(i,j)+ frc_urb2d(i,j)*grdflx_urb(i,j)

should revise to
grdflx(i,j) = (1.-frc_urb2d(i,j)) * grdflx_rural(i,j)+ frc_urb2d(i,j) * grdflx_urb(i,j) * -1.0

bug (for gfortran compiler only): If-statement for HRLDAS restart time check

if ( (NoahmpIO%restart_frequency_hours .gt. 0) .and. &
(mod(ITIME, int(NoahmpIO%restart_frequency_hours*3600./nint(NoahmpIO%dtbl))) == 0)) then

This above if-statement will cause model crash when restart time frequency is 0 using gfortran compiler. This is fine for intel compiler though. I guess the reason is that gfortran is more strict and it will check the conditions in both sides of ".and." even if the first condition on the left of ".and." is not met, so mod(int, 0) cause arithmatic error in gfortran compiler.

@CharlesZheZhang I remember you saw this before in your test but we never fixed this, right?

Running with non-global forcing data

Hello,

I want to run hrldas with my forcing data over 85-165E, -15,35N. I want to reduce the space needed for my input data because our study area is only over a city. What I did was to subset the Zfile and LANDSfile over the same domain as my forcing data. But when I run ./create_forcing.exe, I get an error stating that the z variable can't be read. I checked their structures but I couldn't see any difference. Is there a way for me to make this run possible? I am currently using hrldas on a docker desktop for windows. Any guidance will be much appreciated.

Sincerely,
Leia Pauline

Adding diagnostic output variables for HRLDAS-urban simulation

Currently, when users activate the urban physics (>0), there is no urban-related output variables in the default HRLDAS. For example, the T2MB and T2MV are the 2-m temperature for the rural portion of the urban grid instead of the urban 2-m temperature in HRLDAS.

There is a need to add new diagnostic output variables for urban-specific variables and the grid-mean diagnostic variables including rural and urban portions of the grid following the WRF calculations: https://github.com/wrf-model/WRF/blob/release-v4.5.1/phys/module_surface_driver.F#L3369

These new diagnostic output variable calculations should be added in hrldas driver somewhere here: https://github.com/NCAR/hrldas/blob/master/hrldas/IO_code/module_NoahMP_hrldas_driver.F#L1072

Hrldas: tutorial step2

When i started to ./configure in hrldas, chose 4.Linux ifort compiler MPI.
and: Please reminder to change the software package path in the generated user_build_options file before compiling!

I also checked the /arch/user_build_options.ifort.mpi and changed the path for each packages like netcdf jasper.
: Please reminder to change the software package path in the generated user_build_options file before compiling!

gcc4.8.5 can not compile hrldas

(1) configure option: 6.Linux gfortran compiler MPI
(2) remove the "-fallow-argument-mismatch" of the "F90FLAGS" cause the gfortran 4.8.5 dosen't support this paramter.
(3) change the netcdf and jasper path in user_build_options (this netcdf and jasper can compile WRF4.1 and WRF-hydro5.2 succeed).
(4) "make all" and get the error:

cpp -P -traditional -DMPP_LAND -D_GFORTRAN_   create_forcing.F > create_forcing.f90
mpif90 -ffree-form  -ffree-line-length-none -g -fconvert=big-endian -fbounds-check -fno-range-check -c -I/home/user_name/project/wrf-hydro/source/netcdf_gcc485_hdf1.12/include -I./lib -I./lib create_forcing.f90
create_forcing.f90:14.40:

    character(len=:), allocatable :: str
                                        1
Error: Deferred-length character component 'str' at (1) is not yet supported
create_forcing.f90:25.6:

  use variables
      1
Fatal Error: Can't open module file 'variables.mod' for reading at (1): No such file or directory
make[2]: *** [Makefile:25: create_forcing.o] Error 1
make[2]: Leaving directory '/home/user_name/project/Noah/hrldas/hrldas/HRLDAS_forcing'
make[1]: *** [Makefile:13: default] Error 2
make[1]: Leaving directory '/home/user_name/project/Noah/hrldas/hrldas/HRLDAS_forcing'
make: *** [Makefile:14: all] Error 2

i will change the gcc version and then report the new situation

hrldas initialization refinement

  1. In the hrldas IO part, add kind=kind_noahmp for variable declaration to be consistent
  2. To do: add the capability to read in monthly vegetation fraction from HRLDAS_setup initial files and do the linear time interpolation. Currently, only max and min vegfrac will be read in in HRLDAS_setup or provide time series of vegfrac in forcing file.

The model is gaining water (WaterBalanceError is positive)

Hi,

I am getting a strange error in Noah-MP Version 5 which is "The model is gaining water (WaterBalanceError is positive)". Create forcing is working perfectly using the NLDAS2 Grib files and model writes output for the first 519 timesteps (hourly). It shows the above-mentioned error at the 520th timestep. I tried using the single core as well as multi-cores but the problem persist. A screenshot of the error is attached to this issue.

Please let me know how I could resolve the problem.

Thanking You.

DATA: NLDAS2 Grib Model forcing File
Year: 2017
Timesteps: Hourly

Noah-MP5_ERROR

check WRF driver for BEP pressure configuration for consistency

DO I = NoahmpIO%kde-2, NoahmpIO%kds, -1
where(NoahmpIO%XLAND < 1.5) NoahmpIO%p_urban(:,i,:) = NoahmpIO%p8w(:,1,:)* &
exp(9.8*NoahmpIO%height_urban/287.04/NoahmpIO%t_phy(:,1,:))
where(NoahmpIO%XLAND < 1.5) NoahmpIO%rho_urban(:,i,:) = NoahmpIO%p_urban(:,i,:)/287.04/NoahmpIO%t_phy(:,1,:)
where(NoahmpIO%XLAND < 1.5) NoahmpIO%theta_urban(:,i,:) = NoahmpIO%t_phy(:,1,:)* &
(100000.0/NoahmpIO%p_urban(:,i,:))**(0.285714)
where(NoahmpIO%XLAND < 1.5) NoahmpIO%u_urban(:,i,:) = NoahmpIO%u_urban(:,NoahmpIO%kde,:)* &
log(max(NoahmpIO%zlvl-NoahmpIO%height_urban,1.001))/log(NoahmpIO%zlvl)
where(NoahmpIO%XLAND < 1.5) NoahmpIO%v_urban(:,i,:) = NoahmpIO%v_urban(:,NoahmpIO%kde,:)* &
log(max(NoahmpIO%zlvl-NoahmpIO%height_urban,1.001))/log(NoahmpIO%zlvl)
NoahmpIO%height_urban = NoahmpIO%height_urban + NoahmpIO%urban_atmosphere_thickness

Water balance error when running Noah-MP with MMF groundwater scheme

Hello!

I am running HRLDAS for a region in South America (see grey outline in the figure below). The domain is 129 x 129 grid cells at 4 km resolution.
image
I have no problem running the model for this domain using RUN_OPT=3 (free drainage). However, when I use RUN_OPT=5 (MMF groundwater scheme), I get a water balance error (see screenshot below; the full log file is here: hrldas_log.txt).

Screen Shot 2023-01-24 at 7 56 44 PM

I'm struggling to find the source of the error...there doesn't seem to be anything obviously wrong with the MMF input variables in the wrfinput file. The magnitude and location of the error makes me think there could be an issue with variable initialization, as I see that in module_NoahMP_hrldas_driver.F variables are set to a large fill value.

In the zip folder below I'm including the namelist file & wrfinput file (my HRLDAS setup file) that I'm using, and a few forcing files. These can be used to recreate the error.

HRLDAS_data.zip

Is this a bug or is there an issue with my setup of the model? Let me know if there's any other information I can provide.

Thank you!

Calculation of Specific Humidity

cdo -s -setparam,133.128 -expr,"var133=(0.622*var1)/(var134/100.-(0.378*var1))/1000." $outfile2 $outfile3

Hello, is there an issue with the calculation of specific humidity? 🤔
When I using other forcing data, the specific humidity is measured in kg/kg, but the results calculated using this bash script for ERA5 seem to have a different magnitude.
Or does using ERA5-land as the input require the units to be in g/kg ? 🥲

https://archive.eol.ucar.edu/projects/ceop/dm/documents/refdata_report/eqns.html

According to Bolton 1980, is the specific humidity calculated using this formula in kg/kg?

Unable to compile Noah mp on the WSL.(Ubuntu 22.04)

Hi,
I failed to install the noahmp in wsl. I'm wondering if it's related to my compiler. I used gcc-9 and gcc-10, but both failed.
The installation of netcdf and jasper is fine, and the installation of WRF4.1 has been completed. I checked the online error message online and it's only since the release of v5 that this issue has occurred(with mac). It's also possible that I didn't notice the previous error. Can someone help me? I would appreciate it.
This is the error info.
make[1]: *** No rule to make target '../../noahmp/drivers/hrldas/NoahmpIOVarType.o', needed by 'NoahmpUrbanDriverMainMod.o'. Stop.
make[1]: Leaving directory '/mnt/e/hrldas/urban/wrf'

I checked the location of NoahmpIOVarType. o and found that it was generated in../../noahmp/src/, while the dependency in the makefile in/mnt/e/hrldas/urban/wrf was found in/noahmp/drivers/hrldas for NoahmpIOVarType. o

This is my user_ Build_ Options
LIBJASPER = -ljpeg -L/mnt/e/Build_WRF/LIBRARIES/grib2/lib -ljasper
INCJASPER = -I/mnt/e/Build_WRF/LIBRARIES/grib2/include
NETCDFMOD = -I/mnt/e/Build_WRF/LIBRARIES/netcdf/include
NETCDFLIB = -L/mnt/e/Build_WRF/LIBRARIES/netcdf/lib -lnetcdf -lnetcdff

Cannot open module file 'groundwatermmfmod.mod'

I encountered an error message saying 'Fatal Error: Cannot open module file 'groundwatermmfmod.mod' for reading at (1): No such file or directory.' After checking the 'src' folder in the 'noahmp' directory, I found that the 'NoahmpGroundwaterInitMod.F90' file, which used to be there, was deleted during the compilation process. How could this file have been deleted? I have attached my 'user_build_options' file for reference.

#=============================================================================================

Options for Linux with gfortran (not fully tested)

#=============================================================================================

COMPILERF90 = /usr/bin/gfortran
FREESOURCE = -ffree-form -ffree-line-length-none
F90FLAGS = -g -fconvert=big-endian -fbounds-check -fno-range-check -fno-underscoring
MODFLAG =
LDFLAGS =
CPP = /usr/bin/cpp
CPPFLAGS = -P -traditional -D_GFORTRAN_
LIBS =
LIBJASPER =
INCJASPER =
NETCDFMOD = -I/usr/include
NETCDFLIB = -L/usr/lib -lnetcdf -lnetcdff
BZIP2 =
BZIP2_LIB =
BZIP2_INCLUDE =
RM = rm -f
CC = /usr/bin/gcc

LISJASPER in user_build_options for gfortran compiler

This issue is to record a suggestion from a user:

the user compiled the HRLDAS on the Ubuntu 22.04 machine, the LIBJASPER needs to change to:
LIBJASPER = -ljasper -ljpeg.
Otherwise, the create_forcing.F cannot be compiled.

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.