Changeset 2969 for trunk/LMDZ.VENUS


Ignore:
Timestamp:
May 26, 2023, 8:37:28 AM (18 months ago)
Author:
emillour
Message:

Venus PCM:
Some adaptations for gfortran:

  • the cosd()/sind() functions (arguments in degrees) are depreciated use cos()/sin() instead with a conversion to radians of input arguments
  • comparisons between logicals is done with .eqv. not .eq.

EM

Location:
trunk/LMDZ.VENUS/libf/phyvenus
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.VENUS/libf/phyvenus/conf_phys.F90

    r2836 r2969  
    504504  call getin('ok_ionchem',ok_ionchem)
    505505
    506   if ((ok_jonline.eq..false.).and.(.true..eq.ok_ionchem)) then
    507     write(*,*) "Attention, incoherence :"
     506  if ((ok_jonline.eqv..false.).and.(.true..eqv.ok_ionchem)) then
     507    write(*,*) "Error incoherent flags :"
    508508    write(*,*) "ok_jonline=",ok_jonline," / ok_ionchem=",ok_ionchem
    509     write(*,*) "Si vous souhaitez les ions, ok_jonline==.true."
    510     write(*,*) "Si vous ne voulez pas des ions, ok_ionchem==.false."
    511     write(*,*) "Verifiez votre physiq.def"
     509    write(*,*) "If you include ions, ok_jonline==.true."
     510    write(*,*) "If you do not include ions, ok_ionchem==.false."
     511    write(*,*) "Check physiq.def"
    512512    stop
    513513  endif
  • trunk/LMDZ.VENUS/libf/phyvenus/iono_h.F90

    r2836 r2969  
    222222
    223223      logical, save :: firstcall = .true.
     224      real,parameter :: pi = 4.*atan(1.0)
     225      real,parameter :: deg2rad = pi/180. 
    224226      real,    save :: a(4,4), b(4,4)     ! Fourrier coefficient
    225227      integer       :: jj
     
    257259      do jj=1,4
    258260        P_indice_factor_local = P_indice_factor_local         + &
    259                        ( a(indice,jj)*cosd((jj-1)*sza_local)  + &
    260                          b(indice,jj)*sind((jj-1)*sza_local)  )
     261                       ( a(indice,jj)*cos((jj-1)*sza_local*deg2rad)+ &
     262                         b(indice,jj)*sin((jj-1)*sza_local*deg2rad)  )
    261263      enddo
    262264     
     
    285287! local variables:
    286288
    287       logical, save :: firstcall = .true.       
     289      logical, save :: firstcall = .true.   
     290      real,parameter :: pi = 4.*atan(1.0)
     291      real,parameter :: deg2rad = pi/180. 
    288292      real          :: temp_elect     ! electronic temperatures
    289293
     
    360364              enddo
    361365              dfx = (t_Theis(jsza2,1) - t_Theis(jsza1,1))              &
    362                    /   (cosd(sza_Theis(jsza2))-cosd(sza_Theis(jsza1)))
     366                   /   (cos(sza_Theis(jsza2)*deg2rad)                  &
     367                        -cos(sza_Theis(jsza1)*deg2rad))
    363368                   
    364369              dT  = t_Theis(jsza1,1) +                                 &
    365                           dfx*(cosd(sza_local)-cosd(sza_Theis(jsza1)))
     370                          dfx*(cos(sza_local*deg2rad)                  &
     371                               -cos(sza_Theis(jsza1)*deg2rad))
    366372
    367373              dfy = (tt-dT) / (z_Theis(1)-130.)       
     
    394400             
    395401            z_incre   =(zkm-z_Theis(iz1))/(z_Theis(iz2)-z_Theis(iz1))
    396             sza_incre =(cosd(sza_local)-cosd(sza_Theis(jsza1)))        &
    397                   /(cosd(sza_Theis(jsza2))-cosd(sza_Theis(jsza1)))
     402            sza_incre =(cos(sza_local*deg2rad)                 &
     403                        -cos(sza_Theis(jsza1)*deg2rad))        &
     404                   /(cos(sza_Theis(jsza2)*deg2rad)             &
     405                     -cos(sza_Theis(jsza1)*deg2rad))
    398406     
    399407            temp_elect = dfx*sza_incre + dfy*z_incre                   &
     
    424432              enddo
    425433              dfx = (t_Theis(jsza2,nz_Theis) - t_Theis(jsza1,nz_Theis))   &
    426                    /   (cosd(sza_Theis(jsza2))-cosd(sza_Theis(jsza1)))
     434                   /   (cos(sza_Theis(jsza2)*deg2rad)                     &
     435                        -cos(sza_Theis(jsza1)*deg2rad))
    427436                   
    428437              temp_elect = t_Theis(jsza1,nz_Theis) +                      &
    429                            dfx*(cosd(sza_local)-cosd(sza_Theis(jsza1)))                             
     438                           dfx*(cos(sza_local*deg2rad)                    &
     439                                -cos(sza_Theis(jsza1)*deg2rad))                             
    430440             endif 
    431441           endif
     
    500510
    501511      logical, save :: firstcall = .true.       
     512      real,parameter :: pi = 4.*atan(1.0)
     513      real,parameter :: deg2rad = pi/180. 
    502514      real          :: temp_ion     ! electronic temperatures
    503515
     
    589601           if(zkm_security .lt. Altimini) then
    590602              dfx = (t_Miller(jsza2,1) - t_Miller(jsza1,1))              &
    591                    /   (cosd(sza_Miller(jsza2))-cosd(sza_Miller(jsza1)))
     603                   /   (cos(sza_Miller(jsza2)*deg2rad)                   &
     604                        -cos(sza_Miller(jsza1)*deg2rad))
    592605                   
    593606              dT  = t_Miller(jsza1,1) +                                   &
    594                      dfx*(cosd(sza_security)-cosd(sza_Miller(jsza1)))
     607                     dfx*(cos(sza_security*deg2rad)                       &
     608                          -cos(sza_Miller(jsza1)*deg2rad))
    595609
    596610              dfy = (tt-dT) / (z_Miller(1)-130.)       
     
    611625              z_incre   =(zkm_security-z_Miller(iz1))                    &
    612626                    /(z_Miller(iz2)-z_Miller(iz1))
    613               sza_incre =(cosd(sza_security)-cosd(sza_Miller(jsza1)))    &
    614                     /(cosd(sza_Miller(jsza2))-cosd(sza_Miller(jsza1)))
     627              sza_incre =(cos(sza_security*deg2rad)           &
     628                          -cos(sza_Miller(jsza1)*deg2rad))    &
     629                    /(cos(sza_Miller(jsza2)*deg2rad)          &
     630                      -cos(sza_Miller(jsza1)*deg2rad))
    615631       
    616632              temp_ion = dfx*sza_incre + dfy*z_incre                     &
Note: See TracChangeset for help on using the changeset viewer.