Ignore:
Timestamp:
Dec 9, 2025, 3:08:05 PM (8 hours ago)
Author:
lebasn
Message:

StratAer?: remove old params and rename others for coherence (flag_nucl and flag_strat_compo). Use integer instead of boolean to choose compo and nucleation methods.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmd/StratAer/interp_sulf_input.f90

    r5559 r5924  
    1919  USE aerophys
    2020  USE yomcst_mod_h
    21   USE strataer_local_var_mod, ONLY : flag_newclim_file,flag_verbose_strataer
     21  USE strataer_local_var_mod, ONLY : flag_verbose_strataer
    2222
    2323IMPLICIT NONE
     
    125125     
    126126    !--init ncdf variables
    127     IF(flag_newclim_file) THEN
    128       nc_fname = "ocs_so2_h2so4_annual_lmdz.nc"
    129       nc_lat   = "LAT"
    130       nc_lon   = "LON"
    131     ELSE
    132       ! old file for retro compatibility
    133       nc_fname = "ocs_so2_annual_lmdz.nc"
    134       nc_lat   = "lat"
    135       nc_lon   = "lon"
    136     ENDIF
    137 
     127    nc_fname = "ocs_so2_h2so4_annual_lmdz.nc"
     128    nc_lat   = "LAT"
     129    nc_lon   = "LON"
     130   
    138131    !--reading emission files
    139132    CALL nf95_open(nc_fname, nf90_nowrite, ncid_in)
     
    180173    IF(flag_verbose_strataer) print *,'code erreur SO2_lifetime_in=', ncerr, varid
    181174   
    182     IF(flag_newclim_file) THEN
    183        CALL nf95_inq_varid(ncid_in, "O3", varid)
    184        ncerr = nf90_get_var(ncid_in, varid, O3_clim_in)
    185        IF(flag_verbose_strataer) print *,'code erreur O3=', ncerr, varid
    186        
    187        CALL nf95_inq_varid(ncid_in, "H2SO4_LIFET", varid)
    188        ncerr = nf90_get_var(ncid_in, varid, H2SO4_lifetime_in)
    189        IF(flag_verbose_strataer) print *,'code erreur H2SO4_lifetime_in=', ncerr, varid
    190     ENDIF
     175    CALL nf95_inq_varid(ncid_in, "O3", varid)
     176    ncerr = nf90_get_var(ncid_in, varid, O3_clim_in)
     177    IF(flag_verbose_strataer) print *,'code erreur O3=', ncerr, varid
     178   
     179    CALL nf95_inq_varid(ncid_in, "H2SO4_LIFET", varid)
     180    ncerr = nf90_get_var(ncid_in, varid, H2SO4_lifetime_in)
     181    IF(flag_verbose_strataer) print *,'code erreur H2SO4_lifetime_in=', ncerr, varid
    191182   
    192183    CALL nf95_close(ncid_in)
     
    215206     
    216207      ! O3 from 2d model is not tracer, in VMR
    217       IF(flag_newclim_file) THEN
    218          H2SO4_lifetime_mth(:,j,:) = H2SO4_lifetime_in(:,n_lat+1-j,:,mth_cur)
    219          ! new input files
    220          O3_clim_mth(:,j,:) = 1.e-6*O3_clim_in(:,n_lat+1-j,:,mth_cur)
    221       ELSE
    222          H2SO4_lifetime_mth(:,j,:) = 1.e-6
    223          O3_clim_mth(:,j,:) = 1.e-6
    224       ENDIF
     208      H2SO4_lifetime_mth(:,j,:) = H2SO4_lifetime_in(:,n_lat+1-j,:,mth_cur)
     209      ! new input files
     210      O3_clim_mth(:,j,:) = 1.e-6*O3_clim_in(:,n_lat+1-j,:,mth_cur)
    225211    ENDDO
    226212
     
    279265           MAX(0.0,MIN(paprs_glo(i,k),paprs_input(kk))-MAX(paprs_glo(i,k+1),paprs_input(kk+1))) &
    280266           *SO2_lifetime_tmp(i,kk)/(paprs_glo(i,k)-paprs_glo(i,k+1))
    281       IF(flag_newclim_file) THEN
    282          H2SO4_lifetime_glo(i,k)=H2SO4_lifetime_glo(i,k)+ &
    283               MAX(0.0,MIN(paprs_glo(i,k),paprs_input(kk)) &
    284               -MAX(paprs_glo(i,k+1),paprs_input(kk+1))) &
    285               *H2SO4_lifetime_tmp(i,kk)/(paprs_glo(i,k)-paprs_glo(i,k+1))
    286       ENDIF
     267      H2SO4_lifetime_glo(i,k)=H2SO4_lifetime_glo(i,k)+ &
     268           MAX(0.0,MIN(paprs_glo(i,k),paprs_input(kk)) &
     269           -MAX(paprs_glo(i,k+1),paprs_input(kk+1))) &
     270           *H2SO4_lifetime_tmp(i,kk)/(paprs_glo(i,k)-paprs_glo(i,k+1))
    287271     
    288272      OCS_clim_glo(i,k)=OCS_clim_glo(i,k)+ &
     
    292276           MAX(0.0,MIN(paprs_glo(i,k),paprs_input(kk))-MAX(paprs_glo(i,k+1),paprs_input(kk+1))) &
    293277           *SO2_clim_tmp(i,kk)/(paprs_glo(i,k)-paprs_glo(i,k+1))
    294       IF(flag_newclim_file) THEN
    295          O3_clim_glo(i,k)=O3_clim_glo(i,k)+ &
    296               MAX(0.0,MIN(paprs_glo(i,k),paprs_input(kk)) &
    297               -MAX(paprs_glo(i,k+1),paprs_input(kk+1))) &
    298               *O3_clim_tmp(i,kk)/(paprs_glo(i,k)-paprs_glo(i,k+1))
    299       ENDIF
     278      O3_clim_glo(i,k)=O3_clim_glo(i,k)+ &
     279           MAX(0.0,MIN(paprs_glo(i,k),paprs_input(kk)) &
     280           -MAX(paprs_glo(i,k+1),paprs_input(kk+1))) &
     281           *O3_clim_tmp(i,kk)/(paprs_glo(i,k)-paprs_glo(i,k+1))
    300282      ENDDO
    301283    ENDDO
Note: See TracChangeset for help on using the changeset viewer.