ncar / hrldas Goto Github PK
View Code? Open in Web Editor NEWHRLDAS (High Resolution Land Data Assimilation System)
License: Other
HRLDAS (High Resolution Land Data Assimilation System)
License: Other
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
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.
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.
#=============================================================================================
#=============================================================================================
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
hrldas/hrldas/IO_code/module_NoahMP_hrldas_driver.F
Lines 1298 to 1299 in 423c132
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?
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!
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.
hrldas/urban/wrf/NoahmpUrbanDriverMainMod.F
Line 530 in f550db9
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
hrldas/urban/wrf/NoahmpUrbanDriverMainMod.F
Line 759 in f550db9
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
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
create this issue as a reminder to improve HRLDAS_forcing preprocessing script to handle multi-year data at the same time for ERA5, GLDAS, NLDAS.
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
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.
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).
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.
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!
(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
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
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
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.