- Timestamp:
- Dec 6, 2022, 12:01:16 AM (22 months ago)
- Location:
- LMDZ6/branches/Ocean_skin
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Ocean_skin
- Property svn:mergeinfo changed
-
LMDZ6/branches/Ocean_skin/libf/phylmd/StratAer/strataer_mod.F90
r4013 r4368 79 79 !Config Help = Used in physiq.F 80 80 ! 81 flag_sulf_emit = 0 81 flag_sulf_emit = 0 ! Background (default) 82 flag_sulf_emit_distrib = 0 ! Gaussian (default) 82 83 nErupt = 0 ! eruption number 83 84 injdur = 0 ! init injection duration … … 87 88 CALL getin_p('nErupt',nErupt) 88 89 CALL getin_p('injdur',injdur) 90 CALL getin_p('flag_sulf_emit_distrib',flag_sulf_emit_distrib) 91 92 year_emit_vol=0 ; mth_emit_vol=0 ; day_emit_vol=0 93 m_aer_emiss_vol=0. ; altemiss_vol=0. ; sigma_alt_vol=0. 94 xlon_min_vol=0. ; xlon_max_vol=0. 95 xlat_min_vol=0. ; xlat_max_vol=0. 96 97 IF (nErupt.GT.0) THEN 98 ALLOCATE(year_emit_vol(nErupt),mth_emit_vol(nErupt),day_emit_vol(nErupt)) 99 ALLOCATE(m_aer_emiss_vol(nErupt),altemiss_vol(nErupt),sigma_alt_vol(nErupt)) 100 ALLOCATE(xlat_min_vol(nErupt),xlon_min_vol(nErupt)) 101 ALLOCATE(xlat_max_vol(nErupt),xlon_max_vol(nErupt)) 102 ELSE 103 WRITE(lunout,*) 'ERROR : Using flag_sulf_emit=1 (ie Volcanic eruption) but nErupt (',nErupt,') <=0 !' 104 CALL abort_physic('strataer_mod','No eruption define in physiq_def (nErupt=0). Add one or use background condition.',1) 105 ENDIF 106 107 CALL getin_p('year_emit_vol',year_emit_vol) 108 CALL getin_p('mth_emit_vol',mth_emit_vol) 109 CALL getin_p('day_emit_vol',day_emit_vol) 110 CALL getin_p('m_aer_emiss_vol',m_aer_emiss_vol) 111 CALL getin_p('altemiss_vol',altemiss_vol) 112 CALL getin_p('sigma_alt_vol',sigma_alt_vol) 113 CALL getin_p('xlon_min_vol',xlon_min_vol) 114 CALL getin_p('xlon_max_vol',xlon_max_vol) 115 CALL getin_p('xlat_min_vol',xlat_min_vol) 116 CALL getin_p('xlat_max_vol',xlat_max_vol) 89 117 ELSEIF (flag_sulf_emit == 2) THEN ! SAI 90 118 CALL getin_p('m_aer_emiss_sai',m_aer_emiss_sai) … … 93 121 CALL getin_p('xlat_sai',xlat_sai) 94 122 CALL getin_p('xlon_sai',xlon_sai) 95 CALL getin_p('flag_sulf_emit_distrib',flag_sulf_emit_distrib)96 123 ELSEIF (flag_sulf_emit == 3) THEN ! SAI between latitudes 97 124 CALL getin_p('m_aer_emiss_sai',m_aer_emiss_sai) … … 101 128 CALL getin_p('xlat_max_sai',xlat_max_sai) 102 129 CALL getin_p('xlat_min_sai',xlat_min_sai) 103 CALL getin_p('flag_sulf_emit_distrib',flag_sulf_emit_distrib)104 130 ENDIF 105 131 106 ALLOCATE(year_emit_vol(nErupt),mth_emit_vol(nErupt),day_emit_vol(nErupt))107 ALLOCATE(m_aer_emiss_vol(nErupt),altemiss_vol(nErupt),sigma_alt_vol(nErupt))108 ALLOCATE(xlat_min_vol(nErupt),xlon_min_vol(nErupt))109 ALLOCATE(xlat_max_vol(nErupt),xlon_max_vol(nErupt))110 111 IF (nErupt.GT.0) THEN112 year_emit_vol=0 ; mth_emit_vol=0 ; day_emit_vol=0113 m_aer_emiss_vol=0. ; altemiss_vol=0. ; sigma_alt_vol=0.114 xlon_min_vol=0. ; xlon_max_vol=0.115 xlat_min_vol=0. ; xlat_max_vol=0.116 ENDIF117 118 CALL getin_p('year_emit_vol',year_emit_vol)119 CALL getin_p('mth_emit_vol',mth_emit_vol)120 CALL getin_p('day_emit_vol',day_emit_vol)121 CALL getin_p('m_aer_emiss_vol',m_aer_emiss_vol)122 CALL getin_p('altemiss_vol',altemiss_vol)123 CALL getin_p('sigma_alt_vol',sigma_alt_vol)124 CALL getin_p('xlon_min_vol',xlon_min_vol)125 CALL getin_p('xlon_max_vol',xlon_max_vol)126 CALL getin_p('xlat_min_vol',xlat_min_vol)127 CALL getin_p('xlat_max_vol',xlat_max_vol)128 132 !Config Key = flag_nuc_rate_box 129 133 !Config Desc = define or not a box for nucleation rate … … 136 140 ! 137 141 flag_nuc_rate_box = .FALSE. 142 nuclat_min=0 ; nuclat_max=0 143 nucpres_min=0 ; nucpres_max=0 144 138 145 CALL getin_p('flag_nuc_rate_box',flag_nuc_rate_box) 139 146 CALL getin_p('nuclat_min',nuclat_min) … … 153 160 WRITE(lunout,*) 'IN STRATAER : altemiss_vol',altemiss_vol 154 161 WRITE(lunout,*) 'IN STRATAER : sigma_alt_vol',sigma_alt_vol 155 WRITE(lunout,*) 'IN STRATAER : ponde_lonlat_vol',ponde_lonlat_vol156 162 WRITE(lunout,*) 'IN STRATAER : xlat_min_vol',xlat_min_vol 157 163 WRITE(lunout,*) 'IN STRATAER : xlat_max_vol',xlat_max_vol … … 164 170 WRITE(lunout,*) 'IN STRATAER : xlat_sai',xlat_sai 165 171 WRITE(lunout,*) 'IN STRATAER : xlon_sai',xlon_sai 166 WRITE(lunout,*) 'flag_sulf_emit_distrib = ',flag_sulf_emit_distrib167 172 ELSEIF (flag_sulf_emit == 3) THEN 168 173 WRITE(lunout,*) 'IN STRATAER : m_aer_emiss_sai',m_aer_emiss_sai … … 172 177 WRITE(lunout,*) 'IN STRATAER : xlat_max_sai',xlat_max_sai 173 178 WRITE(lunout,*) 'IN STRATAER : xlon_sai',xlon_sai 174 WRITE(lunout,*) 'flag_sulf_emit_distrib = ',flag_sulf_emit_distrib175 179 ENDIF 180 WRITE(lunout,*) 'flag_sulf_emit_distrib = ',flag_sulf_emit_distrib 176 181 WRITE(lunout,*) 'IN STRATAER : flag_nuc_rate_box = ',flag_nuc_rate_box 177 182 IF (flag_nuc_rate_box) THEN … … 181 186 !ENDIF 182 187 183 CALL strataer_ponde_init 184 WRITE(lunout,*) 'IN STRATAER INT2 END' 188 IF (flag_sulf_emit == 1) THEN 189 CALL strataer_ponde_init 190 WRITE(lunout,*) 'IN STRATAER INT2 END' 191 END IF 192 WRITE(lunout,*) 'IN STRATAER END' 185 193 186 194 END SUBROUTINE strataer_init
Note: See TracChangeset
for help on using the changeset viewer.