NOAA-OWP / SoilMoistureProfiles

Computes 1D soil moisture profile for conceptual reservoirs (e.g., CFE) and layered-based reservoirs (e.g., LGAR)
5 stars 4 forks source link

Smp workflows #6

Closed stcui007 closed 10 months ago

stcui007 commented 11 months ago

This PR creates two workflow files which is intended to perform automated test when new codes are commited before merging into the master branch. Only PR that passes the automated test is permitted to merge. There are two files in this PR. One is: .github/workflows/build_and_run_tests.yml, which runs the STANDALONE, WITHTOPMODEL and unit tests usually done manually. The other one, .github/workflows/ngen_integration.yaml, tests the new SoilMoistureProfiles commits within the ngen framwork. A realization file is created at config/realization_config_smp_ngenCI.json.

Please check the automated test results at the following link: https://github.com/stcui007/SoilMoistureProfiles/pull/1

stcui007 commented 11 months ago

I will need to revise this. I think in the Topmodel repo, I was able to get rid of this part.

On Thu, Dec 21, 2023 at 9:34 AM Justin Singh-M. - NOAA < @.***> wrote:

@.**** commented on this pull request.

In .github/workflows/ngen_integration.yaml https://github.com/NOAA-OWP/SoilMoistureProfiles/pull/6#discussion_r1434218517 :

  • The following remove a post ngen build error likely related to the temporary files left over during the

  • build process

    • name: Re-checkout Ngen
  • uses: @.***
  • with:
  • repository: noaa-owp/ngen

Do you have any additional context/logs for the error that this solves?

— Reply to this email directly, view it on GitHub https://github.com/NOAA-OWP/SoilMoistureProfiles/pull/6#pullrequestreview-1793201947, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACA4SRMZ3S7BLKRJZL77FMDYKRJJDAVCNFSM6AAAAABA5PBQ5GVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMYTOOJTGIYDCOJUG4 . You are receiving this because you authored the thread.Message ID: @.***>

stcui007 commented 11 months ago

Yeah. Good point.

On Thu, Dec 21, 2023 at 9:36 AM Justin Singh-M. - NOAA < @.***> wrote:

@.**** commented on this pull request.

On config/realization_config_smp_ngenCI.json https://github.com/NOAA-OWP/SoilMoistureProfiles/pull/6#discussion_r1434219954 :

Not critical, but it would be good to format this file so that spacing isn't all over, and so that it's a bit more readable.

— Reply to this email directly, view it on GitHub https://github.com/NOAA-OWP/SoilMoistureProfiles/pull/6#pullrequestreview-1793204255, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACA4SRO3QKFDD52WSU35LXTYKRJOLAVCNFSM6AAAAABA5PBQ5GVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMYTOOJTGIYDIMRVGU . You are receiving this because you authored the thread.Message ID: @.***>

stcui007 commented 10 months ago

Thank you Justin. That's a good suggestion.

On Fri, Dec 22, 2023 at 9:23 AM Justin Singh-M. - NOAA < @.***> wrote:

@.**** commented on this pull request.

On config/realization_config_smp_ngenCI.json https://github.com/NOAA-OWP/SoilMoistureProfiles/pull/6#discussion_r1435156663 :

The indentation is primarily messed up within params keys for BMI formulations -- you could use a 2-space indentation, since that is customary for JSON and comes out okay, i.e. https://jsonformatter.org/json-pretty-print

Even if lines are 100+ columns, it's much more readable after that. Example

{ "time": { "start_time": "2009-06-14 20:00:00", "end_time": "2012-04-03 09:00:00", "output_interval": 3600 }, "catchments": { "cat-27": { "formulations": [ { "name": "bmi_multi", "params": { "model_type_name": "bmi_multi_cfe_sft_smp", "forcing_file": "", "init_config": "", "allow_exceed_end_time": true, "main_output_variable": "Q_OUT", "output_variables": [ "soil_ice_fraction", "RAIN_RATE", "DIRECT_RUNOFF", "GIUH_RUNOFF", "NASH_LATERAL_RUNOFF", "DEEP_GW_TO_CHANNEL_FLUX", "Q_OUT", "SOIL_STORAGE", "ice_fraction_schaake" ], "output_header_fields": [ "soil_ice_fraction", "rain_rate", "direct_runoff", "giuh_runoff", "nash_lateral_runoff", "deep_gw_to_channel_flux", "q_out", "soil_storage", "ice_fraction_schaake" ], "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": { "soil_moisture_wetting_fronts(1,double,1,node)": 0, "soil_thickness_layered(1,double,1,node)": 0, "soil_depth_wetting_fronts(1,double,1,node)": 0, "num_wetting_fronts(1,int,1,node)": 1, "Qb_topmodel(1,double,1,node)": 0, "Qv_topmodel(1,double,1,node)": 0, "global_deficit(1,double,1,node)": 0, "sloth_ice_fraction_schaake(1,double,m,node)": 0, "sloth_ice_fraction_xinan(1,double,1,node)": 0, "sloth_smp(1,double,1,node)": 0 } } }, { "name": "bmi_c", "params": { "model_type_name": "bmi_c_pet", "library_file": "./extern/evapotranspiration/evapotranspiration/cmake_build/libpetbmi", "forcing_file": "", "init_config": "./extern/SoilFreezeThaw/SoilFreezeThaw/configs/extern/laramie_config_pet.txt", "allow_exceed_end_time": true, "main_output_variable": "water_potential_evaporation_flux", "registration_function": "register_bmi_pet", "uses_forcing_file": false } }, { "name": "bmi_c++", "params": { "model_type_name": "bmi_smp", "library_file": "./extern/SoilMoistureProfiles/SoilMoistureProfiles/cmake_build/libsmpbmi", "init_config": "./extern/SoilFreezeThaw/SoilFreezeThaw/configs/extern/laramie_config_smp.txt", "allow_exceed_end_time": true, "main_output_variable": "soil_water_table", "variables_names_map": { "soil_storage": "SOIL_STORAGE", "soil_storage_change": "SOIL_STORAGE_CHANGE" }, "uses_forcing_file": false } }, { "name": "bmi_c++", "params": { "model_type_name": "bmi_sft", "library_file": "./extern/SoilFreezeThaw/SoilFreezeThaw/cmake_build/libsftbmi", "init_config": "./extern/SoilFreezeThaw/SoilFreezeThaw/configs/extern/laramie_config_sft.txt", "allow_exceed_end_time": true, "main_output_variable": "num_cells", "variables_names_map": { "ground_temperature": "TMP_ground_surface" }, "uses_forcing_file": false } }, { "name": "bmi_c", "params": { "model_type_name": "bmi_c_cfe", "library_file": "./extern/cfe/cmake_build/libcfebmi", "forcing_file": "", "init_config": "./extern/SoilFreezeThaw/SoilFreezeThaw/configs/extern/laramie_config_cfe.txt", "allow_exceed_end_time": true, "main_output_variable": "Q_OUT", "registration_function": "register_bmi_cfe", "variables_names_map": { "water_potential_evaporation_flux": "water_potential_evaporation_flux", "atmosphere_waterliquid_equivalent_precipitation_rate": "APCP_surface", "atmosphere_air_water~vaporrelative_saturation": "SPFH_2maboveground", "land_surface_air__temperature": "TMP_2maboveground", "land_surface_windx_component_of_velocity": "UGRD_10maboveground", "land_surface_windy_component_of_velocity": "VGRD_10maboveground", "land_surface_radiation~incoming~longwaveenergy_flux": "DLWRF_surface", "land_surface_radiation~incoming~shortwaveenergy_flux": "DSWRF_surface", "land_surface_air__pressure": "PRES_surface", "ice_fraction_schaake": "sloth_ice_fraction_schaake", "ice_fraction_xinan": "sloth_ice_fraction_xinan", "soil_moisture_profile": "sloth_smp" }, "uses_forcing_file": false } } ], "uses_forcing_file": false } } ], "forcing": { "path": "./extern/SoilFreezeThaw/SoilFreezeThaw/forcings/Laramie_14Jun09_to_15Apr12_ngen.csv" } } } }

— Reply to this email directly, view it on GitHub https://github.com/NOAA-OWP/SoilMoistureProfiles/pull/6#discussion_r1435156663, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACA4SROBWCC5T3FKTGJUBFDYKWQYDAVCNFSM6AAAAABA5PBQ5GVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMYTOOJUGYZTANJRGE . You are receiving this because you authored the thread.Message ID: @.***>