Skip to content

Commit

Permalink
Merge branch 'develop' of https://github.com/NOAA-EMC/UFS_UTILS into …
Browse files Browse the repository at this point in the history
…feature/unit_test_example
  • Loading branch information
LarissaReames-NOAA committed Oct 20, 2021
2 parents c49c767 + ee80df6 commit 8f93ae0
Show file tree
Hide file tree
Showing 6 changed files with 1,763 additions and 1,556 deletions.
3 changes: 3 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@ if(CMAKE_Fortran_COMPILER_ID MATCHES "^(Intel)$")
set(CMAKE_Fortran_FLAGS_DEBUG "-O0 -check -check noarg_temp_created -check nopointer -fp-stack-check -fstack-protector-all -fpe0 -debug -ftrapuv")
elseif(CMAKE_Fortran_COMPILER_ID MATCHES "^(GNU)$")
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -g -fbacktrace")
if(${CMAKE_Fortran_COMPILER_VERSION} VERSION_GREATER_EQUAL 10)
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fallow-argument-mismatch -fallow-invalid-boz")
endif()
set(CMAKE_Fortran_FLAGS_RELEASE "-O3")
set(CMAKE_Fortran_FLAGS_DEBUG "-O1 -ggdb -fno-unsafe-math-optimizations -frounding-math -fsignaling-nans -ffpe-trap=invalid,zero,overflow -fbounds-check -fsanitize=address -fno-omit-frame-pointer -fno-optimize-sibling-calls")
endif()
Expand Down
88 changes: 44 additions & 44 deletions sorc/chgres_cube.fd/input_data.F90
Original file line number Diff line number Diff line change
Expand Up @@ -72,33 +72,33 @@ module input_data
!< Default is igbp.
integer, parameter :: ICET_DEFAULT = 265.0 !< Default value of soil and skin
!< temperature (K) over ice.
type(esmf_field), public :: canopy_mc_input_grid !< canopy moist content
type(esmf_field), public :: f10m_input_grid !< log((z0+10)*1/z0)
type(esmf_field), public :: ffmm_input_grid !< log((z0+z1)*1/z0)
type(esmf_field), public :: canopy_mc_input_grid !< canopy moist content
type(esmf_field), public :: f10m_input_grid !< log((z0+10)*1/z0)
type(esmf_field), public :: ffmm_input_grid !< log((z0+z1)*1/z0)
!! See sfc_diff.f for details.
type(esmf_field), public :: landsea_mask_input_grid !< land sea mask;
type(esmf_field), public :: landsea_mask_input_grid !< land sea mask;
!! 0-water, 1-land, 2-ice
type(esmf_field), public :: q2m_input_grid !< 2-m spec hum
type(esmf_field), public :: seaice_depth_input_grid !< sea ice depth
type(esmf_field), public :: seaice_fract_input_grid !< sea ice fraction
type(esmf_field), public :: seaice_skin_temp_input_grid !< sea ice skin temp
type(esmf_field), public :: skin_temp_input_grid !< skin temp/sst
type(esmf_field), public :: snow_depth_input_grid !< snow dpeth
type(esmf_field), public :: snow_liq_equiv_input_grid !< snow liq equiv depth
type(esmf_field), public :: soil_temp_input_grid !< 3-d soil temp
type(esmf_field), public :: soil_type_input_grid !< soil type
type(esmf_field), public :: soilm_liq_input_grid !< 3-d liquid soil moisture
type(esmf_field), public :: soilm_tot_input_grid !< 3-d total soil moisture
type(esmf_field), public :: srflag_input_grid !< snow/rain flag
type(esmf_field), public :: t2m_input_grid !< 2-m temperature
type(esmf_field), public :: tprcp_input_grid !< precip
type(esmf_field), public :: ustar_input_grid !< fric velocity
type(esmf_field), public :: veg_type_input_grid !< vegetation type
type(esmf_field), public :: z0_input_grid !< roughness length
type(esmf_field), public :: veg_greenness_input_grid !< vegetation fraction
type(esmf_field), public :: lai_input_grid !< leaf area index
type(esmf_field), public :: max_veg_greenness_input_grid !< shdmax
type(esmf_field), public :: min_veg_greenness_input_grid !< shdmin
type(esmf_field), public :: q2m_input_grid !< 2-m spec hum
type(esmf_field), public :: seaice_depth_input_grid !< sea ice depth
type(esmf_field), public :: seaice_fract_input_grid !< sea ice fraction
type(esmf_field), public :: seaice_skin_temp_input_grid !< sea ice skin temp
type(esmf_field), public :: skin_temp_input_grid !< skin temp/sst
type(esmf_field), public :: snow_depth_input_grid !< snow dpeth
type(esmf_field), public :: snow_liq_equiv_input_grid !< snow liq equiv depth
type(esmf_field), public :: soil_temp_input_grid !< 3-d soil temp
type(esmf_field), public :: soil_type_input_grid !< soil type
type(esmf_field), public :: soilm_liq_input_grid !< 3-d liquid soil moisture
type(esmf_field), public :: soilm_tot_input_grid !< 3-d total soil moisture
type(esmf_field), public :: srflag_input_grid !< snow/rain flag
type(esmf_field), public :: t2m_input_grid !< 2-m temperature
type(esmf_field), public :: tprcp_input_grid !< precip
type(esmf_field), public :: ustar_input_grid !< fric velocity
type(esmf_field), public :: veg_type_input_grid !< vegetation type
type(esmf_field), public :: z0_input_grid !< roughness length
type(esmf_field), public :: veg_greenness_input_grid !< vegetation fraction
type(esmf_field), public :: lai_input_grid !< leaf area index
type(esmf_field), public :: max_veg_greenness_input_grid !< shdmax
type(esmf_field), public :: min_veg_greenness_input_grid !< shdmin

integer, public :: lsoil_input=4 !< number of soil layers, no longer hardwired to allow
!! for 7 layers of soil for the RUC LSM
Expand All @@ -107,25 +107,25 @@ module input_data

! Fields associated with the nst model.

type(esmf_field), public :: c_d_input_grid !< Coefficient 2 to calculate d(tz)/d(ts)
type(esmf_field), public :: c_0_input_grid !< Coefficient 1 to calculate d(tz)/d(ts)
type(esmf_field), public :: d_conv_input_grid !< Thickness of free convection layer
type(esmf_field), public :: dt_cool_input_grid !< Sub-layer cooling amount
type(esmf_field), public :: ifd_input_grid !< Model mode index. 0-diurnal model not
type(esmf_field), public :: c_d_input_grid !< Coefficient 2 to calculate d(tz)/d(ts)
type(esmf_field), public :: c_0_input_grid !< Coefficient 1 to calculate d(tz)/d(ts)
type(esmf_field), public :: d_conv_input_grid !< Thickness of free convection layer
type(esmf_field), public :: dt_cool_input_grid !< Sub-layer cooling amount
type(esmf_field), public :: ifd_input_grid !< Model mode index. 0-diurnal model not
!< started; 1-diurnal model started.
type(esmf_field), public :: qrain_input_grid !< Sensible heat flux due to rainfall
type(esmf_field), public :: tref_input_grid !< Reference temperature
type(esmf_field), public :: w_d_input_grid !< Coefficient 4 to calculate d(tz)/d(ts)
type(esmf_field), public :: w_0_input_grid !< Coefficient 3 to calculate d(tz)/d(ts)
type(esmf_field), public :: xs_input_grid !< Salinity content in diurnal thermocline layer
type(esmf_field), public :: xt_input_grid !< Heat content in diurnal thermocline layer
type(esmf_field), public :: xu_input_grid !< u-current content in diurnal thermocline layer
type(esmf_field), public :: xv_input_grid !< v-current content in diurnal thermocline layer
type(esmf_field), public :: xz_input_grid !< Diurnal thermocline layer thickness
type(esmf_field), public :: xtts_input_grid !< d(xt)/d(ts)
type(esmf_field), public :: xzts_input_grid !< d(xz)/d(ts)
type(esmf_field), public :: z_c_input_grid !< Sub-layer cooling thickness
type(esmf_field), public :: zm_input_grid !< Oceanic mixed layer depth
type(esmf_field), public :: qrain_input_grid !< Sensible heat flux due to rainfall
type(esmf_field), public :: tref_input_grid !< Reference temperature
type(esmf_field), public :: w_d_input_grid !< Coefficient 4 to calculate d(tz)/d(ts)
type(esmf_field), public :: w_0_input_grid !< Coefficient 3 to calculate d(tz)/d(ts)
type(esmf_field), public :: xs_input_grid !< Salinity content in diurnal thermocline layer
type(esmf_field), public :: xt_input_grid !< Heat content in diurnal thermocline layer
type(esmf_field), public :: xu_input_grid !< u-current content in diurnal thermocline layer
type(esmf_field), public :: xv_input_grid !< v-current content in diurnal thermocline layer
type(esmf_field), public :: xz_input_grid !< Diurnal thermocline layer thickness
type(esmf_field), public :: xtts_input_grid !< d(xt)/d(ts)
type(esmf_field), public :: xzts_input_grid !< d(xz)/d(ts)
type(esmf_field), public :: z_c_input_grid !< Sub-layer cooling thickness
type(esmf_field), public :: zm_input_grid !< Oceanic mixed layer depth

public :: read_input_atm_data
public :: cleanup_input_atm_data
Expand Down Expand Up @@ -6512,7 +6512,7 @@ subroutine handle_grib_error(vname,lev,method,value,varnum, iret,var,var8,var3d)
else
call error_handler("ERROR USING MISSING_VAR_METHOD. PLEASE SET VALUES IN" // &
" VARMAP TABLE TO ONE OF: set_to_fill, set_to_NaN,"// &
" , skip, or stop.", 1)
" , intrp, skip, or stop.", 1)
endif

end subroutine handle_grib_error
Expand Down
Loading

0 comments on commit 8f93ae0

Please sign in to comment.