Changeset 52 for trunk/libf/phylmd


Ignore:
Timestamp:
Jan 31, 2011, 12:42:42 AM (14 years ago)
Author:
aslmd
Message:

chantier principal du commit
--- version LMDZ5 qui fonctionne pour tests geantes
--- prochaine etape, tests sur GNOME

M libf/dyn3dpar/comconst.h
M libf/dyn3dpar/conf_planete.F90
ajout du flux de chaleur intrinseque: ihf
[par defaut il est nul]

M libf/dyn3dpar/gcm.F
changements cosmetiques
[pour diff plus efficace avec version non par]

M libf/dyn3dpar/iniacademic.F
possibilites de variations latitudinales
de temperature plus originales
[seulement pour planet_type.eq."giant"]

M libf/dyn3dpar/leapfrog_p.F

  1. ajout d'une tendance causee par le flux de chaleur intrinseque

(seulement prise en compte si planet_type.eq."giant")

  1. correction bugs problematiques a la compilation et au run

--> probleme dans les boucles (l'indice etait llm et non l)
--> ajout de SAVE pour les variables paralleles
--> correction des declarations de variables manquantes

M libf/dyn3dpar/calfis_p.F
correction d'une deuxieme parenthese manquante sur ALLOCATE(zteta(klon,llm))

M libf/phylmd/regr_lat_time_climoz_m.F90
erreur a la compilation avec FCM... il s'agit d'une routine terrestre
il y a visiblement un probleme avec o3_in
en attendant, les lignes sont commentees avec !AS

A deftanks/giant 8 fichiers
ajout de fichiers de configuration typiques pour les geantes gazeuses
[experimental pour le moment... on est loin de jupiter]

--> comparaisons entre un run ancien [avec LMDZ5-dev sur SVN ipsl sans cp var]
et run avec version sur ce SVN planeto donne des resultats similaires

pratique

A ioipsl
A ioipsl/compile_ioipsl.bash
A ioipsl/util 16 fichiers
script et utilitaire pour compiler IOIPSL de facon independante
il suffit d'executer ./compile_ioipsl.bash

M arch/arch-AMD64_CICLAD.path
si IOIPSL a ete compile avec la methode precedente, les bons
PATH sont definis dans ce fichier [le NETCDF est aussi OK]

M 000-README-svn
mise a jour options "svn status"

M mars/libf/phymars/meso_callkeys.h
mise a jour mineure du fichier
[ecri_phys etait defini mais pas dans la liste]

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/libf/phylmd/regr_lat_time_climoz_m.F90

    r1 r52  
    239239    end if
    240240
    241     if (desc_lat) o3_in = o3_in(n_lat:1:-1, :, :, :)
    242     if (desc_plev) o3_in = o3_in(:, n_plev:1:-1, :, :)
     241    !!!! Aymeric; problem with compilation here.... pb with o3_in
     242    !AS if (desc_lat) o3_in = o3_in(n_lat:1:-1, :, :, :)
     243    !AS if (desc_plev) o3_in = o3_in(:, n_plev:1:-1, :, :)
    243244
    244245    do m = 1, read_climoz
     
    251252             ! Next to the south pole:
    252253             j = 1
    253              do while (o3_in(j, 1, l, m) == missing_value)
    254                 j = j + 1
    255              end do
    256              if (j > 1) o3_in(:j-1, :, l, m) = &
    257                   spread(o3_in(j, :, l, m), dim=1, ncopies=j-1)
     254!AS             do while (o3_in(j, 1, l, m) == missing_value)
     255!AS                j = j + 1
     256!AS             end do
     257!AS             if (j > 1) o3_in(:j-1, :, l, m) = &
     258!AS                  spread(o3_in(j, :, l, m), dim=1, ncopies=j-1)
    258259             
    259260             ! Next to the north pole:
    260261             j = n_lat
    261              do while (o3_in(j, 1, l, m) == missing_value)
    262                 j = j - 1
    263              end do
    264              if (j < n_lat) o3_in(j+1:, :, l, m) = &
    265                   spread(o3_in(j, :, l, m), dim=1, ncopies=n_lat-j)
     262!AS             do while (o3_in(j, 1, l, m) == missing_value)
     263!AS                j = j - 1
     264!AS             end do
     265!AS             if (j < n_lat) o3_in(j+1:, :, l, m) = &
     266!AS                  spread(o3_in(j, :, l, m), dim=1, ncopies=n_lat-j)
    266267
    267268             ! Take care of missing values at high pressure:
     
    272273                ! missing values so the highest level has a valid value.
    273274                k = 2
    274                 do while  (o3_in(j, k, l, m) /= missing_value .and. k < n_plev)
    275                    k = k + 1
    276                 end do
     275!AS                do while  (o3_in(j, k, l, m) /= missing_value .and. k < n_plev)
     276!AS                   k = k + 1
     277!AS                end do
    277278                ! Replace missing values with the valid value at the
    278279                ! lowest level above missing values:
    279                 if (o3_in(j, k, l, m) == missing_value) &
    280                      o3_in(j, k:n_plev, l, m) = o3_in(j, k-1, l, m)
     280!AS                if (o3_in(j, k, l, m) == missing_value) &
     281!AS                     o3_in(j, k:n_plev, l, m) = o3_in(j, k-1, l, m)
    281282             end do
    282283          end do
     
    298299       print *, &
    299300            "Found 12 months in ozone climatologies, assuming periodicity..."
    300        o3_regr_lat(jjm+1:1:-1, :, 1:12, :) = regr1_step_av(o3_in, &
    301             xs=sin(lat_in_edg), xt=sin((/- pi / 2, rlatv(jjm:1:-1), pi / 2/)))
     301!AS       o3_regr_lat(jjm+1:1:-1, :, 1:12, :) = regr1_step_av(o3_in, &
     302!AS            xs=sin(lat_in_edg), xt=sin((/- pi / 2, rlatv(jjm:1:-1), pi / 2/)))
    302303       ! (invert order of indices in "o3_regr_lat" because "rlatu" is
    303304       ! in descending order)
     
    309310    else
    310311       print *, "Using 14 months in ozone climatologies..."
    311        o3_regr_lat(jjm+1:1:-1, :, :, :) = regr1_step_av(o3_in, &
    312             xs=sin(lat_in_edg), xt=sin((/- pi / 2, rlatv(jjm:1:-1), pi / 2/)))
     312!AS       o3_regr_lat(jjm+1:1:-1, :, :, :) = regr1_step_av(o3_in, &
     313!AS            xs=sin(lat_in_edg), xt=sin((/- pi / 2, rlatv(jjm:1:-1), pi / 2/)))
    313314       ! (invert order of indices in "o3_regr_lat" because "rlatu" is
    314315       ! in descending order)
Note: See TracChangeset for help on using the changeset viewer.