Ignore:
Timestamp:
May 26, 2011, 5:17:33 PM (13 years ago)
Author:
Laurent Fairhead
Message:

Necessary modifications to use the model in an aquaplanet or terraplanet configuration


Modifications nécessaires pour l'utilisation du moèle en configuration aquaplanète
ou terraplanète

Dans la dynamique:
Changement pour le paramètre iflag_phys:

auparavant : 0 pas de physique, 1 phyique, 2 rappel
ici on ajoute iflag_phys>=100 pour les aqua et terra

Du coup, dans leapfrog.F et gcm.F on appelle la physique si
iflag_phys=1.or.iflag_phys>=100
Dans iniacademic, on initialise si iflag_phys>=2 au lieu de =2
Dans gcm.F, on appelle en plus iniaqua (sous une clef CPP_EARTH)
Dans iniacademic, on met ps=108080 pour les aqua et terra pour répondre
à une specification CFMIP.

Dans la physique:
On ajoute phyaqua.F qui contient :
iniaqua : initialise les startphy.nc et limit.nc pour la phyique
zenang_an : calcule un ensolleillement moyen sur l'année en fonction de

la latiude (A. Campoy).

profil_sst : qui calcule différents profils latitudinaux de SSTs.
writelim : écrit le fichier limit.nc

Dans physiq.F
On ajoute la possibilité d'appeller un calcul d'ensoleillement moyen
sur l'année quand solarlong0=1000.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/trunk/libf/dyn3d/leapfrog.F

    r1520 r1529  
    149149      logical ok_sync
    150150      parameter (ok_sync = .true.)
     151      logical physic
    151152
    152153      data callinigrads/.true./
     
    193194      itaufin   = nday*day_step
    194195      itaufinp1 = itaufin +1
    195      
    196 
    197196      itau = 0
     197      physic=.true.
     198      if (iflag_phys==0.or.iflag_phys==2) physic=.false.
     199
    198200c      iday = day_ini+itau/day_step
    199201c      time = REAL(itau-(iday-day_ini)*day_step)/day_step+time_0
     
    281283     s        apdiss = .TRUE.
    282284         IF( MOD(itau,iphysiq ).EQ.0.AND..NOT.forward
    283      s          .and. iflag_phys.EQ.1                 ) apphys = .TRUE.
     285     s          .and. physic                        ) apphys = .TRUE.
    284286      ELSE
    285287      ! Leapfrog/Matsuno time stepping
     
    287289         IF( MOD(itau+1,dissip_period).EQ.0 .AND. .NOT. forward )
    288290     s        apdiss = .TRUE.
    289          IF( MOD(itau+1,iphysiq).EQ.0.AND.iflag_phys.EQ.1) apphys=.TRUE.
     291         IF( MOD(itau+1,iphysiq).EQ.0.AND.physic       ) apphys=.TRUE.
    290292      END IF
    291293
Note: See TracChangeset for help on using the changeset viewer.