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

Implemented the Noah-MP Land Surface Model #1161

Merged
merged 27 commits into from
Jun 13, 2024

Commits on May 30, 2024

  1. * Initial implementation of the Noah-MP land surface scheme (LSM):

      The Noah-MP LSM sourcecode is copied from the Noah-MP github repository and corresponds
      to release-v5.0.1 (at hash 12a0b51aa52f6f5189525009ff249dfcbc95d29a), i.e.:
    
      commit 12a0b51aa52f6f5189525009ff249dfcbc95d29a
      Merge: 9fd80cb 843a742
      Author: Cenlin_He <cenlinhe@ucar.edu>
      Date:   Thu Jan 4 20:21:19 2024 -0700
    
        Merge pull request MPAS-Dev#108 from NCAR/develop
    ldfowler58 committed May 30, 2024
    Configuration menu
    Copy the full SHA
    148dc18 View commit details
    Browse the repository at this point in the history
  2. * In ./src/core_atmosphere/physics and ./src/core_atmosphere/physics/…

    …physics_noahmp,
    
      modified sourcecode to compile the original Noah-MP sourcecode inside the MPAS
      framework:
    
      -> in ./physics_noahmp/utility, modified Machine.F90 to become dependent to
         mpas_kind_types.F.
    
      -> in ./physics_noahmp/utility, ./physics_noahmp/src, and ./physics_noahmp/drivers/hrldas,
         modified Makefile to compile Noah-MP inside the MPAS framework.
    
      -> in src/core_atmosphere/physics/physics_noahmp/drivers/hrldas/NoahmpDriverMainMod.F90,
         removed the WRF modules module_ra_gfdleta and module_data_gocart_dust.
    
      -> modified Makefile to compile all physics_noahmp subdirectories.
    ldfowler58 committed May 30, 2024
    Configuration menu
    Copy the full SHA
    3ed206a View commit details
    Browse the repository at this point in the history
  3. * In ./src/core_atmosphere/Makefile, now link ./physics/physics_noahm…

    …p/parameters/NoahmpTable.TBL
    
      as we do for all the files in ./physics/physics_wrf. NoahmpTable.TBL is need to run the Noah-MP
      land surface scheme.
    ldfowler58 committed May 30, 2024
    Configuration menu
    Copy the full SHA
    71e837a View commit details
    Browse the repository at this point in the history
  4. * In ./src/core_atmosphere/physics:

      -> in /physics_noahmp/drivers, renamed the directory hrldas to mpas.
      -> in Makefile, changed all instance of hrldas to mpas.
    ldfowler58 committed May 30, 2024
    Configuration menu
    Copy the full SHA
    6a49799 View commit details
    Browse the repository at this point in the history
  5. * In ./src/core_atmosphere/physics/physics_noahmp/drivers/mpas, remov…

    …ed all instances of the J dimension
    
      and all references to WRF-related dimensions.
    ldfowler58 committed May 30, 2024
    Configuration menu
    Copy the full SHA
    98040ef View commit details
    Browse the repository at this point in the history
  6. * In ./src/core_atmosphere/physics/physics_noahmp/drivers/mpas, added…

    … NoahmpIOVarFinalizeMod.F90
    
      to deallocate all arrays first allocated in NoahmpIOVarInitMod.F90. Modified Makefile accordingly.
    ldfowler58 committed May 30, 2024
    Configuration menu
    Copy the full SHA
    f89e111 View commit details
    Browse the repository at this point in the history
  7. * In ./src/core_init_atmosphere, added the initialization of the stat…

    …ic variables
    
      soilcomp, soilcl1, soilcl2, soilcl3, and soilcl4 needed to run the Noah-MP land
      surface scheme.
    ldfowler58 committed May 30, 2024
    Configuration menu
    Copy the full SHA
    d4a1c7f View commit details
    Browse the repository at this point in the history
  8. * In ./src/core_atmosphere, starting the first modifications to run t…

    …he Noah-MP
    
      land surface scheme:
    
      -> added the Noah-MP Registry file ./physics/Registry_noahmp.xml to Registry.xml.
         That file includes all the extra arrays to run Noah-MP.
    
      -> in ./physics/mpas_atmphys_control.F, added the option sf_noahmp as an alternate
         to sf_noah.
    
      -> in ./physics/mpas_atmphys_manager.F, added the outputs month and day as outputs
         to mpas_get_time. month and day are needed in ./physics_noahmp.
    
      -> in ./physics/mpas_atmphys_packages, added the package sf_noahmp_in.
    ldfowler58 committed May 30, 2024
    Configuration menu
    Copy the full SHA
    607e23f View commit details
    Browse the repository at this point in the history
  9. * In ./src/core_atmosphere/physics/physics_noahmp/drivers/mpas/Noahmp…

    …DriverMainMod.F90,
    
      added print statements for NoahmpIO%itimestep and NoahmpIO%xice_threshold.
    ldfowler58 committed May 30, 2024
    Configuration menu
    Copy the full SHA
    57b2e9b View commit details
    Browse the repository at this point in the history
  10. * In ./src/core_atmosphere/physics/physics_noahmp/drivers/mpas/Noahmp…

    …InitMainMod.F90,
    
      remove the initialization of NoahmpIO%areaxy.
    ldfowler58 committed May 30, 2024
    Configuration menu
    Copy the full SHA
    6375190 View commit details
    Browse the repository at this point in the history
  11. * In ./src/core_atmosphere/physics/physics_noahmp/drivers/mpas/Noahmp…

    …IOVarFinalizeMod.F90,
    
      removed the sourcecode that initializes NoahmpIO variables since NoahmpIOVarFinalizeMod.F90
      is only called to deallocate variables at the end of forecasts.
    ldfowler58 committed May 30, 2024
    Configuration menu
    Copy the full SHA
    07976a3 View commit details
    Browse the repository at this point in the history
  12. * In ./src/core_atmosphere:

      -> in Registry.xml, added Noahmp variables to the input and restart streams to run
         the Noah-MP land surface scheme.
    
      -> added ./physics/Registry_noahmp.xml which contains all the Noah-MP variables
         needed to run the Noah-MP land surface scheme.
    ldfowler58 committed May 30, 2024
    Configuration menu
    Copy the full SHA
    5be8e1f View commit details
    Browse the repository at this point in the history

Commits on Jun 13, 2024

  1. * In ./src/core_atmosphere/physics:

      -> added mpas_atmphys_lsm_noahmpinit.F to initialize Noah-MP variables within
         the MPAS framework.
    
      -> added mpas_atmphys_driver_lsm_noahmp.F to run the Noah-MP land surface scheme
         within the MPAS framework.
    ldfowler58 authored and mgduda committed Jun 13, 2024
    Configuration menu
    Copy the full SHA
    a52a8f0 View commit details
    Browse the repository at this point in the history
  2. * In ./src/core_atmosphere/physics:

      -> in mpas_atmphys_vars.F, added the structure mpas_noahmp of type NoahmIO_type
         that contains all the Noah-MP variables and arrays needed for Noah-MP to
         communicate with the MPAS physics.
      -> in mpas_atmphys_init.F, added call to init_lsm_noahmp to initialize Noah-MP.
      -> in mpas_atmphys_driver.F, added call to driver_lsm_noahmp to run Noah-MP.
      -> Modified Makefile accordingly.
    
      -> in ./../mpas_atm_core.F, modified call to physics_init to include the pools
         diag_physics_noahmp and output_noahmp.
    ldfowler58 authored and mgduda committed Jun 13, 2024
    Configuration menu
    Copy the full SHA
    ab192ea View commit details
    Browse the repository at this point in the history
  3. * In ./src/core_atmosphere/physics/Registry_noahmp.xml, added the arg…

    …ument missing_value
    
      to the definition of Noah-MP variables. missing_value is set to -9999 for integer and
      -9999.0 to real variables, as defined in Machine.F90 used in Noah-MP.
    ldfowler58 authored and mgduda committed Jun 13, 2024
    Configuration menu
    Copy the full SHA
    74e553f View commit details
    Browse the repository at this point in the history
  4. * In ./src/core_atmosphere/physics/mpas_atmphys_lsm_noahmpinit.F, rem…

    …oved variables needed in
    
      the crop model. The crop model is currently not available and related variables are not
      used.
    ldfowler58 authored and mgduda committed Jun 13, 2024
    Configuration menu
    Copy the full SHA
    8fb2b52 View commit details
    Browse the repository at this point in the history
  5. * In ./src/core_atmosphere/physics/mpas_atmphys_driver_lsm_noahmp.F, …

    …removed variables needed
    
      in the ground water parameterization.The ground water model is currently not available and
      related variables are not used.
    ldfowler58 authored and mgduda committed Jun 13, 2024
    Configuration menu
    Copy the full SHA
    cd075a3 View commit details
    Browse the repository at this point in the history
  6. * In src/core_atmosphere/physics/physics_noahmp/drivers/mpas:

      -> in NoahmpInitMod.F90, removed the initialization of xland, xice, and
         xice_threshold, and move all three variables to ./physics.
    
      -> in NoahmpDriverMainMod.F90, rearranged print statements.
    ldfowler58 authored and mgduda committed Jun 13, 2024
    Configuration menu
    Copy the full SHA
    99ba47f View commit details
    Browse the repository at this point in the history
  7. * In ./src/core_atmosphere/physics/mpas_atmphys_driver_lsm_noahmp.F, …

    …added the
    
      initialization of xland to subroutine lsm_noahmp_fromMPAS.
    ldfowler58 authored and mgduda committed Jun 13, 2024
    Configuration menu
    Copy the full SHA
    52d40ca View commit details
    Browse the repository at this point in the history
  8. * In ./src/core_atmosphere/physics/Registry_noahmp.xml, corrected the…

    … description
    
      of a few Noah-MP variables.
    ldfowler58 authored and mgduda committed Jun 13, 2024
    Configuration menu
    Copy the full SHA
    ca68747 View commit details
    Browse the repository at this point in the history
  9. * In ./src/core_atmosphere/physics, deallocate all Noah-MP arrays nee…

    …ded to run
    
      the Noah-MP land surface scheme.
    ldfowler58 authored and mgduda committed Jun 13, 2024
    Configuration menu
    Copy the full SHA
    afc482d View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    6e2f2c5 View commit details
    Browse the repository at this point in the history
  11. * In ./src/core_atmosphere/Registry.xml:

      -> moved the variables soilcomp, soilcl1, soilcl2, and soilcl3 from the input stream
         to the invariant stream.
      -> added the variable soilcl4 to the input stream.
    ldfowler58 authored and mgduda committed Jun 13, 2024
    Configuration menu
    Copy the full SHA
    76a8a3d View commit details
    Browse the repository at this point in the history
  12. * In ./src/core_atmosphere/physics:

      -> in ./physics_noahmp/drivers/mpas/NoahmpDriverMainMod.F90, commented extra
         print statements.
      -> in mpas_atmphys_driver_lsm_noahmp.F, commented extra print statements.
    ldfowler58 authored and mgduda committed Jun 13, 2024
    Configuration menu
    Copy the full SHA
    6cafc95 View commit details
    Browse the repository at this point in the history
  13. * In src/core_atmosphere/Registry.xml, removed the static fields need…

    …ed to run Noah-MP
    
      from the restart stream since they are available in the "invariant" stream and the
      invariant stream is included in the "restart" stream.
    ldfowler58 authored and mgduda committed Jun 13, 2024
    Configuration menu
    Copy the full SHA
    6e23176 View commit details
    Browse the repository at this point in the history
  14. * In ./src/core_atmosphere/physics/mpas_atmphys_lsm_noahmpinit.F, com…

    …mented extra
    
      print statements originally written during the initialization of Noah-MP.
    ldfowler58 authored and mgduda committed Jun 13, 2024
    Configuration menu
    Copy the full SHA
    5bebea3 View commit details
    Browse the repository at this point in the history
  15. * In ./src/core_atmosphere/physics/mpas_atmphys_lsm_noahmpinit.F, rem…

    …oved extra
    
      print statements before and after call to subroutine NoahmpInitMain.
    ldfowler58 authored and mgduda committed Jun 13, 2024
    Configuration menu
    Copy the full SHA
    1b4a479 View commit details
    Browse the repository at this point in the history