Changeset 2237


Ignore:
Timestamp:
Mar 20, 2015, 7:53:17 AM (9 years ago)
Author:
fhourdin
Message:

Prise en compte des nouveaux alebedo dans les fichiers de redémarrage.
Retour à 1+1=2

Taking into account new albedos in restart files. 1+1=2

Location:
LMDZ5/trunk/libf/phylmd
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/trunk/libf/phylmd/lmdz1d.F90

    r2225 r2237  
    668668        zpic = zpicinp
    669669        ftsol=tsurf
     670        nsw=6 ! on met le nb de bandes SW=6, pour initialiser
     671              ! 6 albedo, mais on peut quand meme tourner avec
     672              ! moins. Seules les 2 ou 4 premiers seront lus
    670673        falb1 = albedo                           
    671674        falb2 = albedo                           
     675        falb_dir=albedo
     676        falb_dif=albedo
    672677        rugoro=rugos
    673678        t_ancien(1,:)=temp(:)
  • LMDZ5/trunk/libf/phylmd/phyetat0.F90

    r2209 r2237  
    1111  USE phys_state_var_mod, ONLY : ancien_ok, clwcon, detr_therm, dtime, &
    1212       du_gwd_rando, dv_gwd_rando, entr_therm, f0, falb1, falb2, fm_therm, &
     13       falb_dir, falb_dif, &
    1314       ftsol, pbl_tke, pctsrf, q_ancien, radpas, radsol, rain_fall, ratqs, &
    1415       rlat, rlon, rnebcon, rugoro, sig1, snow_fall, solaire_etat0, sollw, sollwdown, &
     
    6970  INTEGER length
    7071  PARAMETER (length=100)
    71   INTEGER it, iiq
     72  INTEGER it, iiq, isw
    7273  REAL tab_cntrl(length), tabcntr0(length)
    7374  CHARACTER*7 str7
     
    243244  ENDIF
    244245
     246!===================================================================
     247  ! Lecture des albedo difus et direct
     248
     249  DO nsrf = 1, nbsrf
     250     DO isw=1, nsw
     251        IF (isw.GT.99 .AND. nsrf.GT.99) THEN
     252           PRINT*, "Trop de bandes SW ou sous-mailles"
     253           call abort_gcm("phyetat0", "", 1)
     254        ENDIF
     255        WRITE(str7, '(i2.2, "srf", i2.2)') isw, nsrf
     256
     257        CALL get_field('A_dir_SW'//str7, falb_dir(:, isw, nsrf), found)
     258        IF (.NOT. found) THEN
     259           PRINT*, "phyetat0: Le champ <A_dir_SW"//str7//"> est absent"
     260           PRINT*, "          Il prend donc la valeur de surface"
     261           DO i=1, klon
     262              falb_dir(i, isw, nsrf)=0.2
     263           ENDDO
     264        ENDIF
     265        CALL get_field('A_dif_SW'//str7, falb_dif(:, isw, nsrf), found)
     266        IF (.NOT. found) THEN
     267           PRINT*, "phyetat0: Le champ <A_dif_SW"//str7//"> est absent"
     268           PRINT*, "          Il prend donc la valeur de surface"
     269           DO i=1, klon
     270              falb_dif(i, isw, nsrf)=0.2
     271           ENDDO
     272        ENDIF
     273     ENDDO
     274  ENDDO
     275
     276!===================================================================
    245277  ! Lecture des temperatures du sol profond:
    246278
     
    264296  ENDDO
    265297
     298!===================================================================
    266299  ! Lecture de l'humidite de l'air juste au dessus du sol:
    267300
  • LMDZ5/trunk/libf/phylmd/phyredem.F90

    r2209 r2237  
    5151  REAL tab_cntrl(length)
    5252
    53   INTEGER isoil, nsrf
     53  INTEGER isoil, nsrf,isw
    5454  CHARACTER (len=7) :: str7
    5555  CHARACTER (len=2) :: str2
     
    142142  ENDDO
    143143
     144! ================== Albedo =======================================
     145  print*,'PHYREDEM NOUVEAU'
     146  DO nsrf = 1, nbsrf
     147     DO isw=1, nsw
     148        IF (isw.LE.99 .AND. nsrf.LE.99) THEN
     149           WRITE(str7, '(i2.2, "srf", i2.2)') isw, nsrf
     150  print*,'PHYREDEM ',"A_dir_SW"//str7
     151           CALL put_field("A_dir_SW"//str7, "Albedo direct du sol bande "//str7, &
     152                falb_dir(:, isw, nsrf))
     153           CALL put_field("A_dif_SW"//str7, "Albedo difus du sol bande "//str7, &
     154                falb_dif(:, isw, nsrf))
     155        ELSE
     156           PRINT*, "Trop de couches"
     157           call abort_gcm("phyredem", "", 1)
     158        ENDIF
     159     ENDDO
     160  ENDDO
     161
     162! ================== Tsoil =======================================
    144163  DO nsrf = 1, nbsrf
    145164     DO isoil=1, nsoilmx
Note: See TracChangeset for help on using the changeset viewer.