Ignore:
Timestamp:
Sep 24, 2018 3:42:55 PM (6 years ago)
Author:
knoop
Message:

Modularization of all bulk cloud physics code components

File:
1 edited

Legend:

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

    r3241 r3274  
    2525! -----------------
    2626! $Id$
     27! Modularization of all bulk cloud physics code components
     28!
     29! 3241 2018-09-12 15:02:00Z raasch
    2730! unused variables removed
    2831!
     
    111114                  q_init, ref_state, s_init, sa_init, u_init, ug, v_init, vg
    112115
     116       USE bulk_cloud_model_mod,                                               &
     117           ONLY:  bcm_rrd_global
     118
    113119       USE date_and_time_mod,                                                  &
    114120           ONLY:  day_of_year_init, time_utc_init
     
    125131       USE indices,                                                            &
    126132           ONLY:  nz, nx, nx_on_file, ny, ny_on_file
    127 
    128        USE microphysics_mod,                                                   &
    129            ONLY:  c_sedimentation, collision_turbulence,                       &
    130                   cloud_water_sedimentation, limiter_sedimentation,            &
    131                   nc_const, ventilation_effect
    132133
    133134       USE model_1d_mod,                                                       &
     
    332333             CASE ( 'building_wall_south' )
    333334                READ ( 13 )  building_wall_south
    334              CASE ( 'c_sedimentation' )
    335                 READ ( 13 )  c_sedimentation
    336335             CASE ( 'call_psolver_at_all_substeps' )
    337336                READ ( 13 )  call_psolver_at_all_substeps
     
    350349             CASE ( 'cloud_droplets' )
    351350                READ ( 13 )  cloud_droplets
    352              CASE ( 'cloud_physics' )
    353                 READ ( 13 )  cloud_physics
    354              CASE ( 'cloud_scheme' )
    355                 READ ( 13 )  cloud_scheme
    356351             CASE ( 'cloud_top_radiation' )
    357352                READ ( 13 )  cloud_top_radiation
    358              CASE ( 'cloud_water_sedimentation' )
    359                 READ ( 13 )  cloud_water_sedimentation
    360353             CASE ( 'collective_wait' )
    361354                READ ( 13 )  collective_wait
    362              CASE ( 'collision_turbulence' )
    363                 READ ( 13 )  collision_turbulence
    364355             CASE ( 'conserve_volume_flow' )
    365356                READ ( 13 )  conserve_volume_flow
     
    461452             CASE ( 'latitude' )
    462453                READ ( 13 )  latitude
    463              CASE ( 'limiter_sedimentation' )
    464                 READ ( 13 )  limiter_sedimentation
    465454             CASE ( 'longitude' )
    466455                READ ( 13 )  longitude
     
    484473             CASE ( 'most_method' )
    485474                READ ( 13 )  most_method
    486              CASE ( 'nc_const' )
    487                 READ ( 13 )  nc_const
    488475             CASE ( 'netcdf_precision' )
    489476                READ ( 13 )  netcdf_precision
     
    520507             CASE ( 'prandtl_number' )
    521508                READ ( 13 )  prandtl_number
    522              CASE ( 'precipitation' )
    523                 READ ( 13 ) precipitation
    524509             CASE ( 'psolver' )
    525510                READ ( 13 )  psolver
     
    732717             CASE ( 'v_max_ijk' )
    733718                READ ( 13 )  v_max_ijk
    734              CASE ( 'ventilation_effect' )
    735                 READ ( 13 )  ventilation_effect
    736719             CASE ( 'vg' )
    737720                READ ( 13 )  vg
     
    786769             CASE DEFAULT
    787770
     771                IF ( .NOT. found ) CALL bcm_rrd_global( found )
     772
    788773                IF ( .NOT. found ) CALL wtm_rrd_global( found )
    789774
     
    10611046
    10621047    USE arrays_3d,                                                             &
    1063         ONLY:  e, kh, km, p, pt, q, ql, qc, nc, nr, prr, precipitation_amount, &
    1064                qr, s, sa, u, u_m_l, u_m_n, u_m_r, u_m_s, v, v_m_l, v_m_n,      &
     1048        ONLY:  e, kh, km, p, pt, q, ql, &
     1049               s, sa, u, u_m_l, u_m_n, u_m_r, u_m_s, v, v_m_l, v_m_n,      &
    10651050               v_m_r, v_m_s, vpt, w, w_m_l, w_m_n, w_m_r, w_m_s
    10661051
     
    10731058        ONLY:  cpu_log, log_point_s
    10741059
    1075     USE gust_mod,                                                           &
     1060    USE gust_mod,                                                              &
    10761061        ONLY :  gust_rrd_local
    10771062
     
    10841069    USE land_surface_model_mod,                                                &
    10851070        ONLY:  lsm_rrd_local
     1071
     1072    USE bulk_cloud_model_mod,                                                  &
     1073        ONLY :  bcm_rrd_local
    10861074
    10871075    USE particle_attributes,                                                   &
     
    14691457                      tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    14701458
    1471                 CASE ( 'nc' )
    1472                    IF ( k == 1 )  READ ( 13 )  tmp_3d
    1473                    nc(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) =             &
    1474                       tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    1475 
    1476                 CASE ( 'nc_av' )
    1477                    IF ( .NOT. ALLOCATED( nc_av ) )  THEN
    1478                       ALLOCATE( nc_av(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )
    1479                    ENDIF
    1480                    IF ( k == 1 )  READ ( 13 )  tmp_3d
    1481                    nc_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) =          &
    1482                       tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    1483 
    1484 
    1485                 CASE ( 'nr' )
    1486                    IF ( k == 1 )  READ ( 13 )  tmp_3d
    1487                    nr(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) =             &
    1488                       tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    1489 
    1490                 CASE ( 'nr_av' )
    1491                    IF ( .NOT. ALLOCATED( nr_av ) )  THEN
    1492                       ALLOCATE( nr_av(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )
    1493                    ENDIF
    1494                    IF ( k == 1 )  READ ( 13 )  tmp_3d
    1495                    nr_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) =          &
    1496                       tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    1497 
    14981459                CASE ( 'p' )
    14991460                   IF ( k == 1 )  READ ( 13 )  tmp_3d
     
    15251486                      tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    15261487
    1527                 CASE ( 'prr' )
    1528                    IF ( .NOT. ALLOCATED( prr ) )  THEN
    1529                       ALLOCATE( prr(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )
    1530                    ENDIF
    1531                    IF ( k == 1 )  READ ( 13 )  tmp_3d
    1532                    prr(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) =            &
    1533                       tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    1534 
    1535                 CASE ( 'prr_av' )
    1536                    IF ( .NOT. ALLOCATED( prr_av ) )  THEN
    1537                       ALLOCATE( prr_av(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )
    1538                    ENDIF
    1539                    IF ( k == 1 )  READ ( 13 )  tmp_3d
    1540                    prr_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) =         &
    1541                       tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    1542 
    1543                 CASE ( 'precipitation_amount' )
    1544                    IF ( k == 1 )  READ ( 13 )  tmp_2d
    1545                    precipitation_amount(nysc-nbgp:nync+nbgp,                   &
    1546                                         nxlc-nbgp:nxrc+nbgp)  =                &
    1547                          tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    1548 
    15491488                CASE ( 'pt' )
    15501489                   IF ( k == 1 )  READ ( 13 )  tmp_3d
     
    15731512                      tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    15741513
    1575                 CASE ( 'qc' )
    1576                    IF ( k == 1 )  READ ( 13 )  tmp_3d
    1577                    qc(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) =             &
    1578                       tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    1579 
    1580                 CASE ( 'qc_av' )
    1581                    IF ( .NOT. ALLOCATED( qc_av ) )  THEN
    1582                       ALLOCATE( qc_av(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )
    1583                    ENDIF
    1584                    IF ( k == 1 )  READ ( 13 )  tmp_3d
    1585                    qc_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) =          &
    1586                       tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    1587 
    15881514                CASE ( 'ql' )
    15891515                   IF ( k == 1 )  READ ( 13 )  tmp_3d
     
    15971523                   IF ( k == 1 )  READ ( 13 )  tmp_3d
    15981524                   ql_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) =          &
    1599                       tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    1600 
    1601                 CASE ( 'qr' )
    1602                    IF ( k == 1 )  READ ( 13 )  tmp_3d
    1603                    qr(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) =             &
    1604                       tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    1605 
    1606                 CASE ( 'qr_av' )
    1607                    IF ( .NOT. ALLOCATED( qr_av ) )  THEN
    1608                       ALLOCATE( qr_av(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )
    1609                    ENDIF
    1610                    IF ( k == 1 )  READ ( 13 )  tmp_3d
    1611                    qr_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) =          &
    16121525                      tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    16131526
     
    19681881
    19691882!
     1883!--                Read microphysics module restart data
     1884                   IF ( .NOT. found ) CALL bcm_rrd_local( i, k, nxlf,          &
     1885                                           nxlc, nxl_on_file, nxrf, nxrc,      &
     1886                                           nxr_on_file, nynf, nync,            &
     1887                                           nyn_on_file, nysf, nysc,            &
     1888                                           nys_on_file, tmp_2d, tmp_3d, found )
     1889
     1890!
    19701891!--                Read surface related variables
    19711892                   IF ( .NOT. found ) CALL surface_rrd_local( i, k, nxlf,      &
Note: See TracChangeset for help on using the changeset viewer.