Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ngen won't run using netcdf input forcing file without precip_rate variable #773

Open
stcui007 opened this issue Mar 22, 2024 · 1 comment

Comments

@stcui007
Copy link
Contributor

Current behavior

The ending part of the output:

'''
Building Catchment collection
terminate called after throwing an instance of 'realization::ConfigurationException'
  what():  Multi BMI formulation cannot be created from config: cannot find available data provider to satisfy set of deferred provisions for nested module at index 2: {atmosphere_water__liquid_equivalent_precipitation_rate}
terminate called after throwing an instance of 'realization::ConfigurationException'
  what():  Multi BMI formulation cannot be created from config: cannot find available data provider to satisfy set of deferred provisions for nested module at index 2: {atmosphere_water__liquid_equivalent_precipitation_rate}

===================================================================================
=   BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES
=   PID 47468 RUNNING AT nwcal-ucs3.nwc.nws.noaa.gov
=   EXIT CODE: 134
=   CLEANING UP REMAINING PROCESSES
=   YOU CAN IGNORE THE BELOW CLEANUP MESSAGES
===================================================================================
YOUR APPLICATION TERMINATED WITH THE EXIT STRING: Aborted (signal 6)
This typically refers to a problem with your application.
Please see the FAQ page for debugging suggestions

Expected behavior

Output (note that the HDF5-DIAG is due to another unrelated NetCDF file close issue which we are working on to resolve):

...
 Finished 240 timesteps.
NGen top-level timings:
        NGen::init: 3053.97
        NGen::simulation: 1304.83
        NGen::routing: 1.0719e-05
HDF5-DIAG: Error detected in HDF5 (1.10.1) thread 0:
  #000: H5D.c line 332 in H5Dclose(): not a dataset
    major: Invalid arguments to routine
    minor: Inappropriate type
NetCDF: HDF error
file: ncFile.cpp  line:33

Steps to replicate behavior (include URLs)

On UCS servers, after building the MPI version of the ngen executable, run the MPI job with the following command line:
nohup mpirun -n 32 ./cmake_build_mpi/ngen conus.gpkg '' conus.gpkg '' data/bmi_multi_realization_config_w_sloth_pet_noah_netcdf_conus.json conus_partition_32.json &

where data/bmi_multi_realization_config_w_sloth_pet_noah_netcdf_conus.json is displayed below:

{
    "global": {
        "formulations": [
            {
                "name": "bmi_multi",
                "params": {
                    "model_type_name": "bmi_multi_noahowp_cfe",
                    "forcing_file": "",
                    "init_config": "",
                    "allow_exceed_end_time": true,
                    "main_output_variable": "QINSUR",
                    "modules": [
                        {
                            "name": "bmi_c++",
                            "params": {
                                "model_type_name": "bmi_c++_sloth",
                                "library_file": "./extern/sloth/cmake_build/libslothmodel",
                                "init_config": "/dev/null",
                                "allow_exceed_end_time": true,
                                "main_output_variable": "z",
                                "uses_forcing_file": false,
                                "model_params": {
                                    "sloth_ice_fraction_schaake(1,double,m,node)": 0.0,
                                    "sloth_ice_fraction_xinanjiang(1,double,1,node)": 0.0,
                                    "sloth_smp(1,double,1,node)": 0.0
                                }
                            }
                        },
                        {
                            "name": "bmi_c",
                            "params": {
                                "model_type_name": "bmi_c_pet",
                                "library_file": "./extern/evapotranspiration/evapotranspiration/cmake_build/libpetbmi",
                                "forcing_file": "",
                                "init_config": "./conus_config/PET_{{id}}.ini",
                                "allow_exceed_end_time": true,
                                "main_output_variable": "water_potential_evaporation_flux",
                                "registration_function": "register_bmi_pet",
                                "variables_names_map": {
                                    "water_potential_evaporation_flux": "potential_evapotranspiration"
                                },
                                "uses_forcing_file": false
                            }
                        },
                        {
                            "name": "bmi_fortran",
                            "params": {
                                "model_type_name": "bmi_fortran_noahowp",
                                "library_file": "./extern/noah-owp-modular/cmake_build/libsurfacebmi",
                                "forcing_file": "",
                                "init_config": "./conus_config/NoahOWP_{{id}}.namelist",
                                "allow_exceed_end_time": true,
                                "main_output_variable": "QINSUR",
                                "variables_names_map": {
                                    "PRCPNONC": "atmosphere_water__liquid_equivalent_precipitation_rate",
                                    "Q2": "atmosphere_air_water~vapor__relative_saturation",
                                    "SFCTMP": "land_surface_air__temperature",
                                    "UU": "land_surface_wind__x_component_of_velocity",
                                    "VV": "land_surface_wind__y_component_of_velocity",
                                    "LWDN": "land_surface_radiation~incoming~longwave__energy_flux",
                                    "SOLDN": "land_surface_radiation~incoming~shortwave__energy_flux",
                                    "SFCPRS": "land_surface_air__pressure"
                                },
                                "uses_forcing_file": false
                            }
                        }
                    ],
                    "uses_forcing_file": false
                }
            }
        ],
        "forcing": {
            "path": "./NextGen_forcing_2016010100.nc",
            "provider": "NetCDF"
        }
    },
    "time": {
        "start_time": "2016-01-01 00:00:00",
        "end_time": "2016-01-10 23:00:00",
        "output_interval": 3600
    }
}

Screenshots

@stcui007
Copy link
Contributor Author

This can be resolved by replacing precip_rate wirh QINSUR from Noah-owp_modular.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant