Ignore:
Timestamp:
Mar 9, 2022, 9:01:11 AM (3 years ago)
Author:
emillour
Message:

Mars GCM:
Update inichim_newstart to be compatible with latest additions of non-chemistry
tracers.
EM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.MARS/libf/aeronomars/inichim_newstart.F90

    r2579 r2636  
    7474
    7575! 1. identify tracers by their names: (and set corresponding values of mmol)
     76! As is done in initracer.F
    7677
    7778! 1.1 initialize tracer indexes to zero:
     
    8283      igcm_ccnco2_mass=0
    8384      igcm_ccnco2_number=0
     85      igcm_ccnco2_meteor_mass=0
     86      igcm_ccnco2_meteor_number=0
     87      igcm_ccnco2_h2o_mass_ice=0
     88      igcm_ccnco2_h2o_mass_ccn=0
     89      igcm_ccnco2_h2o_number=0
    8490      igcm_dust_mass=0
    8591      igcm_dust_number=0
     
    8995      igcm_h2o_vap=0
    9096      igcm_h2o_ice=0
     97      igcm_hdo_vap=0
     98      igcm_hdo_ice=0
     99      igcm_stormdust_mass=0
     100      igcm_stormdust_number=0
     101      igcm_topdust_mass=0
     102      igcm_topdust_number=0
    91103      igcm_co2=0
    92104      igcm_co=0
     
    96108      igcm_o3=0
    97109      igcm_h=0
     110      igcm_d=0
     111      igcm_hd=0
    98112      igcm_h2=0
     113      igcm_od=0
     114      igcm_do2=0
     115      igcm_hdo2=0
    99116      igcm_oh=0
    100117      igcm_ho2=0
     
    109126      igcm_n2d=0
    110127      igcm_he=0
    111       igcm_hdo_vap=0
    112       igcm_od=0
    113       igcm_d=0
    114       igcm_hd=0
    115       igcm_do2=0
    116       igcm_hdo2=0
    117128      igcm_co2plus=0
    118129      igcm_oplus=0
     
    160171      end if ! of if (doubleq)
    161172
    162       if (scavenging) then
     173      if (microphys) then
    163174         do iq = 1,nqmx
    164175            if (noms(iq) == "ccn_mass") then
     
    171182            end if
    172183         end do
    173       end if ! of if (scavenging)
     184      end if ! of if (microphys)
    174185
    175186      if (submicron) then
     
    183194      end if ! of if (submicron)
    184195
     196       if (rdstorm) then
     197        do iq=1,nq
     198          if (noms(iq).eq."stormdust_mass") then
     199            igcm_stormdust_mass=iq
     200            count=count+1
     201          endif
     202          if (noms(iq).eq."stormdust_number") then
     203            igcm_stormdust_number=iq
     204            count=count+1
     205          endif
     206        enddo
     207      endif ! of if (rdstorm)
     208
     209       if (topflows) then
     210        do iq=1,nq
     211          if (noms(iq).eq."topdust_mass") then
     212            igcm_topdust_mass=iq
     213            count=count+1
     214          endif
     215          if (noms(iq).eq."topdust_number") then
     216            igcm_topdust_number=iq
     217            count=count+1
     218          endif
     219        enddo
     220      endif ! of if (topflows)   
     221
    185222! 1.3 find chemistry and water tracers
    186223
     
    241278           count = count + 1
    242279        end if
     280        if (noms(iq) == "n2") then
     281           igcm_n2 = iq
     282           mmol(igcm_n2) = 28.
     283           count = count + 1
     284        end if
    243285        if (noms(iq) == "ch4") then
    244286           igcm_ch4 = iq
     
    246288           count = count + 1
    247289        end if
    248         if (noms(iq) == "n2") then
    249            igcm_n2 = iq
    250            mmol(igcm_n2) = 28.
     290        if (noms(iq) == "ar") then
     291           igcm_ar = iq
     292           mmol(igcm_ar) = 40.
    251293           count = count + 1
    252294        end if
     
    256298           count = count + 1
    257299        end if
     300        if (noms(iq) == "no") then
     301           igcm_no = iq
     302           mmol(igcm_no) = 30.
     303           count = count + 1
     304        end if
     305        if (noms(iq) == "no2") then
     306           igcm_no2 = iq
     307           mmol(igcm_no2) = 46.
     308           count = count + 1
     309        end if
    258310        if (noms(iq) == "n2d") then
    259311           igcm_n2d = iq
     
    261313           count = count + 1
    262314        end if
    263         if (noms(iq) == "no") then
    264            igcm_no = iq
    265            mmol(igcm_no) = 30.
    266            count = count + 1
    267         end if
    268         if (noms(iq) == "no2") then
    269            igcm_no2 = iq
    270            mmol(igcm_no2) = 46.
    271            count = count + 1
    272         end if
    273         if (noms(iq) == "ar") then
    274            igcm_ar = iq
    275            mmol(igcm_ar) = 40.
    276            count = count + 1
    277         end if
    278         if (noms(iq) == "h2o_vap") then
    279            igcm_h2o_vap = iq
    280            mmol(igcm_h2o_vap) = 18.
    281            count = count + 1
    282         end if
    283         if (noms(iq) == "h2o_ice") then
    284            igcm_h2o_ice = iq
    285            mmol(igcm_h2o_ice) = 18.
    286            count = count + 1
    287         end if
    288         if (noms(iq) == "hdo_vap") then
    289            igcm_hdo_vap = iq
    290            mmol(igcm_hdo_vap) = 19.
    291            count = count + 1
    292         end if
    293         if (noms(iq) == "hdo_ice") then
    294            igcm_hdo_vap = iq
    295            mmol(igcm_hdo_ice) = 19.
    296            count = count + 1
    297         end if
    298         if (noms(iq) == "od") then
    299            igcm_od = iq
    300            mmol(igcm_od) = 18.
    301            count = count + 1
    302         end if
    303         if (noms(iq) == "d") then
    304            igcm_d = iq
    305            mmol(igcm_d) = 2.
    306            count = count + 1
    307         end if
    308         if (noms(iq) == "hd") then
    309            igcm_d = iq
    310            mmol(igcm_d) = 3.
    311            count = count + 1
    312         end if
    313         if (noms(iq) == "do2") then
    314            igcm_do2 = iq
    315            mmol(igcm_do2) = 34.
    316            count = count + 1
    317         end if
    318         if (noms(iq) == "hdo2") then
    319            igcm_hdo2 = iq
    320            mmol(igcm_hdo2) = 35.
    321            count = count + 1
    322         end if
    323         if (noms(iq).eq."he") then
     315        if (noms(iq) == "he") then
    324316          igcm_he=iq
    325317          mmol(igcm_he)=4.
    326318          count=count+1
    327319        endif
     320        if (noms(iq) == "h2o_vap") then
     321           igcm_h2o_vap = iq
     322           mmol(igcm_h2o_vap) = 18.
     323           count = count + 1
     324        end if
     325        if (noms(iq) == "hdo_vap") then
     326           igcm_hdo_vap = iq
     327           mmol(igcm_hdo_vap) = 19.
     328           count = count + 1
     329        end if
     330        if (noms(iq) == "od") then
     331           igcm_od = iq
     332           mmol(igcm_od) = 18.
     333           count = count + 1
     334        end if
     335        if (noms(iq) == "d") then
     336           igcm_d = iq
     337           mmol(igcm_d) = 2.
     338           count = count + 1
     339        end if
     340        if (noms(iq) == "hd") then
     341           igcm_d = iq
     342           mmol(igcm_d) = 3.
     343           count = count + 1
     344        end if
     345        if (noms(iq) == "do2") then
     346           igcm_do2 = iq
     347           mmol(igcm_do2) = 34.
     348           count = count + 1
     349        end if
     350        if (noms(iq) == "hdo2") then
     351           igcm_hdo2 = iq
     352           mmol(igcm_hdo2) = 35.
     353           count = count + 1
     354        end if
     355
     356! aerosols
     357        if (noms(iq) == "co2_ice") then
     358          igcm_co2_ice=iq
     359          mmol(igcm_co2_ice)=44.
     360          count=count+1
     361        endif
     362        if (noms(iq) == "h2o_ice") then
     363           igcm_h2o_ice = iq
     364           mmol(igcm_h2o_ice) = 18.
     365           count = count + 1
     366        end if
     367        if (noms(iq) == "hdo_ice") then
     368           igcm_hdo_ice = iq
     369           mmol(igcm_hdo_ice) = 19.
     370           count = count + 1
     371        end if
     372
     373        if (co2clouds) then
     374           if (noms(iq).eq."ccnco2_mass") then
     375              igcm_ccnco2_mass=iq
     376              count=count+1
     377           endif
     378           if (noms(iq).eq."ccnco2_number") then
     379              igcm_ccnco2_number=iq
     380              count=count+1
     381           endif
     382           if (meteo_flux) then
     383             if (noms(iq).eq."ccnco2_meteor_mass") then
     384                igcm_ccnco2_meteor_mass=iq
     385                count=count+1
     386             endif
     387             if (noms(iq).eq."ccnco2_meteor_number") then
     388                igcm_ccnco2_meteor_number=iq
     389                count=count+1
     390             endif
     391           end if
     392           if (co2useh2o) then
     393           if (noms(iq).eq."ccnco2_h2o_number") then
     394              igcm_ccnco2_h2o_number=iq
     395              count=count+1
     396           endif
     397           if (noms(iq).eq."ccnco2_h2o_mass_ice") then
     398              igcm_ccnco2_h2o_mass_ice=iq
     399              count=count+1
     400           endif
     401           if (noms(iq).eq."ccnco2_h2o_mass_ccn") then
     402              igcm_ccnco2_h2o_mass_ccn=iq
     403              count=count+1
     404           endif
     405           end if
     406        endif ! of if (co2clouds)
    328407
    329408! 1.4 find ions
Note: See TracChangeset for help on using the changeset viewer.