Changeset 3218
- Timestamp:
- Feb 16, 2024, 9:15:46 AM (10 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.VENUS/libf/phyvenus/moldiff_red.F90
r2836 r3218 106 106 107 107 ! Initializations at first call 108 108 109 if (firstcall) then 109 110 110 ! Liste des especes qui sont diffuses si elles sont presentes111 112 ListeDiff(1)='co2'113 ListeDiff(2)='o'114 ListeDiff(3)='n2'115 ListeDiff(4)='ar'116 ListeDiff(5)='co'117 ListeDiff(6)='h2'118 ListeDiff(7)='h'119 ListeDiff(8)='d2'120 ListeDiff(9)='hd'121 ListeDiff(10)='d'122 ListeDiff(11)='o2'123 ListeDiff(12)='h2o'124 ListeDiff(13)='o3'125 ListeDiff(14)='n'126 ListeDiff(15)='he'127 ListeDiff(16)='n2d'128 i_esc_h=1000 129 i_esc_h2=1000130 131 ! On regarde quelles especes diffusables sont presentes 132 133 ncompdiff=0 134 indic_diff(1:nq)=0135 136 do nn=1,nq 137 138 do n=1,nb_esp_diff139 if (ListeDiff(n) .eq.tname(nn)) then140 indic_diff(nn)=1141 if (tname(nn) .eq. 'h') i_esc_h=n 142 if (tname(nn) .eq. 'h2') i_esc_h2=n 143 endif 144 enddo 145 146 if (indic_diff(nn) .eq. 1) then 147 print*,'specie ', tname(nn), 'diffused in moldiff_red' 148 ncompdiff=ncompdiff+1 149 endif 150 enddo 151 print*,'number of diffused species:',ncompdiff 152 allocate(gcmind(ncompdiff))153 allocate(mol_tr(ncompdiff)) 154 155 ! Store gcm indexes in gcmind and molar masses in mol_tr 156 n=0157 do nn=1,nq158 if (indic_diff(nn) .eq.1) then159 n=n+1160 gcmind(n)=nn161 mol_tr(n) = M_tr(nn)162 endif 163 enddo 164 165 ! print*,'gcmind' ,gcmind 166 ! STOP 111 ! list of diffused species (if present) 112 113 ListeDiff(1) = 'co2' 114 ListeDiff(2) = 'o' 115 ListeDiff(3) = 'n2' 116 ListeDiff(4) = 'ar' 117 ListeDiff(5) = 'co' 118 ListeDiff(6) = 'h2' 119 ListeDiff(7) = 'h' 120 ListeDiff(8) = 'd2' 121 ListeDiff(9) = 'hd' 122 ListeDiff(10) = 'd' 123 ListeDiff(11) = 'o2' 124 ListeDiff(12) = 'h2o' 125 ListeDiff(13) = 'o3' 126 ListeDiff(14) = 'n' 127 ListeDiff(15) = 'he' 128 ListeDiff(16) = 'n2d' 129 130 i_esc_h = 1000 131 i_esc_h2 = 1000 132 133 ! search for species that can be diffused 134 135 ncompdiff = 0 136 indic_diff(1:nq) = 0 137 138 do nn = 1,nq 139 do n = 1,nb_esp_diff 140 if (ListeDiff(n) == tname(nn)) then 141 indic_diff(nn) = 1 142 end if 143 end do 144 145 if (indic_diff(nn) == 1) then 146 print*,'species ', tname(nn), 'diffused in moldiff_red' 147 ncompdiff = ncompdiff + 1 148 end if 149 end do 150 151 print*,'number of diffused species:',ncompdiff 152 allocate(gcmind(ncompdiff)) 153 allocate(mol_tr(ncompdiff)) 154 155 ! store gcm indexes in gcmind and molar masses in mol_tr 156 157 n = 0 158 do nn = 1,nq 159 if (indic_diff(nn) == 1) then 160 n = n + 1 161 gcmind(n) = nn 162 mol_tr(n) = M_tr(nn) 163 if (tname(nn) == 'h') i_esc_h = n 164 if (tname(nn) == 'h2') i_esc_h2 = n 165 end if 166 end do 167 167 168 ! find vertical index above which diffusion is computed 168 169
Note: See TracChangeset
for help on using the changeset viewer.