Changeset 2729 for palm/trunk/SOURCE


Ignore:
Timestamp:
Jan 9, 2018 11:22:28 AM (6 years ago)
Author:
maronga
Message:

input of deep soil temperature separated from prognostic soil temperature

File:
1 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SOURCE/land_surface_model_mod.f90

    r2724 r2729  
    2525! -----------------
    2626! $Id$
     27! Separated deep soil temperature from soil_temperature array
     28!
     29! 2724 2018-01-05 12:12:38Z maronga
    2730! Added security check for insufficient soil_temperature values
    2831!
     
    434437                canopy_resistance_coefficient = 9999999.9_wp, & !< NAMELIST g_d
    435438                c_surface = 9999999.9_wp,               & !< Surface (skin) heat capacity (J/m2/K)
     439                deep_soil_temperature =  9999999.9_wp,  & !< Deep soil temperature (bottom boundary condition)
    436440                drho_l_lv,                              & !< (rho_l * l_v)**-1
    437441                exn,                                    & !< value of the Exner function
     
    14951499    ENDIF
    14961500
     1501
     1502!!! these checks are not needed for water surfaces??
     1503
    14971504!
    14981505!-- Determine number of soil layers to be used and check whether an appropriate
     
    15141521!
    15151522!-- Check whether valid soil temperatures are prescribed
    1516     IF ( ANY( soil_temperature(nzb_soil:nzt_soil+1) == 9999999.9_wp ) )  THEN
     1523    IF ( COUNT( soil_temperature /= 9999999.9_wp ) /= nzs )  THEN
    15171524       WRITE( message_string, * ) 'number of soil layers (', nzs, ') does not',&
    15181525                                  ' match to the number of layers specified',  &
    15191526                                  ' in soil_temperature (', COUNT(             &
    1520                                    soil_temperature /= 9999999.9_wp )-1, ')'
     1527                                   soil_temperature /= 9999999.9_wp ), ')'
    15211528          CALL message( 'check_parameters', 'PA0471', 1, 2, 0, 6, 0 )
     1529    ENDIF
     1530
     1531    IF ( deep_soil_temperature == 9999999.9_wp ) THEN
     1532          message_string = 'deep_soil_temperature is not set but must be'//    &
     1533                           '/= 9999999.9'
     1534          CALL message( 'check_parameters', 'PA0472', 1, 2, 0, 6, 0 )
    15221535    ENDIF
    15231536
     
    38473860                   m_soil_h%var_2d(k,m) = soil_moisture(k)
    38483861                ENDDO
    3849                 t_soil_h%var_2d(nzt_soil+1,m) = soil_temperature(nzt_soil+1)
     3862                t_soil_h%var_2d(nzt_soil+1,m) = deep_soil_temperature
    38503863             ENDIF
    38513864          ENDDO
     
    38583871                      m_soil_v(l)%var_2d(k,m) = soil_moisture(k)
    38593872                   ENDDO
    3860                    t_soil_v(l)%var_2d(nzt_soil+1,m) = soil_temperature(nzt_soil+1)
     3873                   t_soil_v(l)%var_2d(nzt_soil+1,m) = deep_soil_temperature
    38613874                ENDIF
    38623875             ENDDO
     
    44894502                                  constant_roughness,                          &
    44904503                                  conserve_water_content,                      &
     4504                                  deep_soil_temperature,                       &
    44914505                                  dz_soil,                                     &
    44924506                                  f_shortwave_incoming, field_capacity,        &
Note: See TracChangeset for help on using the changeset viewer.