Changeset 1945 for trunk/LMDZ.VENUS/libf


Ignore:
Timestamp:
Jun 8, 2018, 10:40:22 AM (7 years ago)
Author:
slebonnois
Message:

Correction of a bug in radlwsw Venus

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.VENUS/libf/phyvenus/radlwsw.F

    r1726 r1945  
    381381       
    382382c -------- Probleme aux bords
    383        if ((ips0.eq.0).and.(psurfve(1,lat).gt.paprs(j,1))) then
    384               ips0  = 1
    385               print*,'Extrapolation! ig=',j,'  ips0=',ips0
    386               factp = (paprs(j,1)         -psurfve(ips0,lat))
    387      .               /(psurfve(ips0+1,lat)-psurfve(ips0,lat))
    388        endif
    389        if ((ips0.eq.0).and.(psurfve(nbpsve(lat),lat).le.paprs(j,1)))
     383c surf press lower than the lowest surf pres in matrices
     384       if ((ips0.eq.0).and.(psurfve(nbpsve(lat),lat).gt.paprs(j,1)))
    390385     . then
    391386              ips0  = nbpsve(lat)-1
     
    394389     .               /(psurfve(ips0+1,lat)-psurfve(ips0,lat))
    395390       endif
     391c surf press higher than the highest surf pres in matrices
     392       if ((ips0.eq.0).and.(psurfve(1,lat).le.paprs(j,1))) then
     393              ips0  = 1
     394              print*,'Extrapolation! ig=',j,'  ips0=',ips0
     395              factp = (paprs(j,1)         -psurfve(ips0,lat))
     396     .               /(psurfve(ips0+1,lat)-psurfve(ips0,lat))
     397       endif
     398
     399c this has to be done for ips0A and ips0B also...
     400       if (latA.eq.lat) then
     401         ips0A = ips0
     402       else
     403         if (latA.gt.0) then
     404          if ((ips0A.eq.0).and.
     405     .        (psurfve(nbpsve(latA),latA).gt.paprs(j,1))) then
     406              ips0A  = nbpsve(latA)-1
     407          endif
     408          if ((ips0A.eq.0).and.(psurfve(1,latA).le.paprs(j,1))) then
     409              ips0A  = 1
     410          endif
     411         endif
     412       endif
     413       if (latB.eq.lat) then
     414         ips0B = ips0
     415       else
     416         if (latB.gt.0) then
     417          if ((ips0B.eq.0).and.
     418     .        (psurfve(nbpsve(latB),latB).gt.paprs(j,1))) then
     419              ips0B  = nbpsve(latB)-1
     420          endif
     421          if ((ips0B.eq.0).and.(psurfve(1,latB).le.paprs(j,1))) then
     422              ips0B  = 1
     423          endif
     424         endif
     425       endif       
     426
    396427c ---------
    397428
Note: See TracChangeset for help on using the changeset viewer.