Ignore:
Timestamp:
Jul 26, 2016 7:52:02 AM (8 years ago)
Author:
maronga
Message:

further modularization of land surface model (2D/3D output and restart data)

File:
1 edited

Legend:

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

    r1961 r1972  
    1919! Current revisions:
    2020! ------------------
    21 !
     21! Bugfix: wrong units for lsm quantities.
     22! Definition of grids for land surface quantities is now done directly in the
     23! respective module.
    2224!
    2325! Former revisions:
     
    208210             'm2/s2        ', 'm2/s2        ', 'kg m/s       ',                &
    209211             'm            ', 'kg/kg        ', 'kg m/(kg s)  ',                &
    210              'kg/kg        ', '             ', '             ',                &
    211              '             ', '             ', '             ',                &
    212              'W/m2         ', 's/m          ', '             ',                &
     212             'kg/kg        ', 'W/m2         ', 'W/m2         ',                &
     213             'W/m2         ', 'W/m2         ', 'W/m2         ',                &
     214             'W/m2         ', 's/m          ', 's/m          ',                &
    213215             'W/m2         ', 'W/m2         ', 'W/m2         ',                &
    214216             'W/m2         ', 'W/m2         ', '             ',                &
     
    400402
    401403    USE land_surface_model_mod,                                                &
    402         ONLY: land_surface, nzb_soil, nzt_soil, nzs, zs
     404        ONLY: land_surface, lsm_define_netcdf_grid, nzb_soil, nzt_soil, nzs, zs
    403405
    404406    USE pegrid
     
    758760                   grid_y = 'y'
    759761                   grid_z = 'zw'
    760 !
    761 !--             soil grid
    762                 CASE ( 'm_soil', 't_soil' )
    763 
    764                    grid_x = 'x'
    765                    grid_y = 'y'
    766                    grid_z = 'zs'
     762
    767763
    768764                CASE DEFAULT
     765
     766!
     767!--                Check for land surface quantities
     768                   IF ( land_surface )  THEN
     769                      CALL lsm_define_netcdf_grid( domask(mid,av,i), found,    &
     770                                                   grid_x, grid_y, grid_z )
     771                   ENDIF
     772
    769773!
    770774!--                Check for user-defined quantities
    771                    CALL user_define_netcdf_grid( domask(mid,av,i), found,      &
    772                                                  grid_x, grid_y, grid_z )
     775                   IF ( .NOT. found )  THEN
     776                      CALL user_define_netcdf_grid( domask(mid,av,i), found,   &
     777                                                    grid_x, grid_y, grid_z )
     778                   ENDIF
    773779
    774780                   IF ( .NOT. found )  THEN
     
    12581264                   grid_y = 'y'
    12591265                   grid_z = 'zw'
    1260 !
    1261 !--             soil grid
    1262                 CASE ( 'm_soil', 't_soil' )
    1263 
    1264                    grid_x = 'x'
    1265                    grid_y = 'y'
    1266                    grid_z = 'zs'
     1266
    12671267
    12681268                CASE DEFAULT
    1269 !
     1269
     1270!
     1271!--                Check for land surface quantities
     1272                   IF ( land_surface )  THEN
     1273                      CALL lsm_define_netcdf_grid( do3d(av,i), found, grid_x,  &
     1274                                                    grid_y, grid_z )
     1275                   ENDIF
     1276                   
    12701277!--                Check for user-defined quantities
    1271                    CALL user_define_netcdf_grid( do3d(av,i), found, grid_x, &
    1272                                                  grid_y, grid_z )
     1278                   IF ( .NOT. found )  THEN
     1279                      CALL user_define_netcdf_grid( do3d(av,i), found, grid_x, &
     1280                                                    grid_y, grid_z )
     1281                   ENDIF
    12731282
    12741283                   IF ( .NOT. found )  THEN
     
    19922001
    19932002!
    1994 !--             Write zs data
     2003!--          Write zs data
    19952004             IF ( land_surface )  THEN
    19962005                ns_do = 0
Note: See TracChangeset for help on using the changeset viewer.