! ! $Id: create_etat0_limit.F 1222 2009-08-07 11:48:33Z ymeurdesoif $ ! PROGRAM create_etat0_limit #ifdef CPP_EARTH ! This prog. is designed to work for Earth USE dimphy USE comgeomphy USE mod_phys_lmdz_para USE mod_const_mpi USE phys_state_var_mod USE infotrac #ifdef CPP_IOIPSL use ioipsl, only: ioconf_calendar #endif IMPLICIT NONE c c c Programme d'appel a etat0, creation des etats initiaux et limit_netcdf c c c interbar = .T . si appel a interpol. barycentrique inter_barxy c c extrap = .T . si on fait une extrapolation de donnees , comme pour c les SST lorsque le fichier ne contient pas uniquement des points c oceaniques . c c oldice = .T. si l'on veut garder les anciennes glaces , obtenues c par grille_m ( grid_atob ) . c c on cree le masque dans etat0 que l'on passe ensuite dans limit pour c garder les coherences LOGICAL interbar, extrap , oldice PARAMETER ( interbar = .true. , extrap = .FALSE. , oldice=.false.) #include "dimensions.h" #include "paramet.h" #include "indicesol.h" #include "control.h" #include "clesphys.h" REAL :: masque(iip1,jjp1) ! REAL :: pctsrf(iim*(jjm-1)+2, nbsrf) IF (config_inca /= 'none') THEN #ifdef INCA call init_const_lmdz( $ nbtr,anneeref,dayref, $ iphysiq, day_step,nday) #endif print *, 'nbtr =' , nbtr END IF CALL init_mpi CALL Init_Phys_lmdz(iim,jjp1,llm,1,(/(jjm-1)*iim+2/)) PRINT *,'---> klon=',klon IF (mpi_size>1 .OR. omp_size>1) THEN CALL abort_gcm('create_etat0_limit','In parallel mode, & create_etat0_limit must be called only & for 1 process and 1 task') ENDIF CALL phys_state_var_init call InitComgeomphy #ifdef CPP_IOIPSL call ioconf_calendar('360d') #endif WRITE(6,*) ' ********************* ' WRITE(6,*) ' interbar = ',interbar CALL etat0_netcdf ( interbar, masque ) c WRITE(6,1) WRITE(6,*) ' ********************* ' WRITE(6,*) ' *** Limit_netcdf *** ' WRITE(6,*) ' ********************* ' WRITE(6,1) c CALL limit_netcdf ( interbar, extrap , oldice, masque) 1 FORMAT(//) #endif ! of #ifdef CPP_EARTH STOP END