Changeset 3471
- Timestamp:
- Mar 27, 2019, 2:35:38 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/create_limit_unstruct.F90
r3469 r3471 6 6 7 7 CONTAINS 8 8 9 9 10 SUBROUTINE create_limit_unstruct … … 18 19 IMPLICIT NONE 19 20 INCLUDE "iniprint.h" 20 REAL, DIMENSION( klon,lmdep):: sic21 REAL, DIMENSION( klon,lmdep):: sst21 REAL, DIMENSION(:,:),ALLOCATABLE :: sic 22 REAL, DIMENSION(:,:),ALLOCATABLE :: sst 22 23 REAL, DIMENSION(klon,lmdep) :: rugos 23 24 REAL, DIMENSION(klon,lmdep) :: albedo 24 REAL, DIMENSION( klon_mpi,lmdep):: sic_mpi25 REAL, DIMENSION( klon_mpi,lmdep):: sst_mpi25 REAL, DIMENSION(:,:),ALLOCATABLE :: sic_mpi 26 REAL, DIMENSION(:,:),ALLOCATABLE :: sst_mpi 26 27 REAL, DIMENSION(klon_mpi,lmdep) :: rugos_mpi 27 28 REAL, DIMENSION(klon_mpi,lmdep) :: albedo_mpi … … 41 42 INTEGER :: l,k 42 43 INTEGER :: nbad 43 44 INTEGER :: sic_time_axis_size 45 INTEGER :: sst_time_axis_size 46 CHARACTER(LEN=99) :: mess ! error message 47 48 44 49 ndays=ioget_year_len(annee_ref) 50 51 IF (is_omp_master) CALL xios_get_axis_attr("time_sic",n_glo=sic_time_axis_size) 52 CALL bcast_omp(sic_time_axis_size) 53 ALLOCATE(sic_mpi(klon_mpi,sic_time_axis_size)) 54 ALLOCATE(sic(klon,sic_time_axis_size)) 55 56 57 IF (is_omp_master) CALL xios_get_axis_attr("time_sst",n_glo=sst_time_axis_size) 58 CALL bcast_omp(sst_time_axis_size) 59 ALLOCATE(sst_mpi(klon_mpi,sst_time_axis_size)) 60 ALLOCATE(sst(klon,sst_time_axis_size)) 45 61 46 62 IF (is_omp_master) THEN … … 62 78 ALLOCATE(phy_bil(klon,ndays)); phy_bil=0.0 63 79 80 64 81 ! sic 65 CALL time_interpolation(ndays,sic,'gregorian',sic_year) 82 IF (sic_time_axis_size==lmdep) THEN 83 CALL time_interpolation(ndays,sic,'gregorian',sic_year) 84 ELSE IF (sic_time_axis_size==ndays) THEN 85 sic_year=sic 86 ELSE 87 WRITE(mess,*) 'sic time axis is nor montly, nor daily. sic time interpolation ',& 88 'is requiered but is not currently managed' 89 CALL abort_physic('create_limit_unstruct',TRIM(mess),1) 90 ENDIF 91 66 92 sic_year(:,:)=sic_year(:,:)/100. ! convert percent to fraction 67 93 WHERE(sic_year(:,:)>1.0) sic_year(:,:)=1.0 ! Some fractions have some time large negative values … … 69 95 70 96 ! sst 71 CALL time_interpolation(ndays,sst,'gregorian',sst_year) 97 IF (sst_time_axis_size==lmdep) THEN 98 CALL time_interpolation(ndays,sst,'gregorian',sst_year) 99 ELSE IF (sst_time_axis_size==ndays) THEN 100 sst_year=sst 101 ELSE 102 WRITE(mess,*)'sic time axis is nor montly, nor daily. sic time interpolation ',& 103 'is requiered but is not currently managed' 104 CALL abort_physic('create_limit_unstruct',TRIM(mess),1) 105 ENDIF 72 106 WHERE(sst_year(:,:)<271.38) sst_year(:,:)=271.38 107 73 108 74 109 ! rugos
Note: See TracChangeset
for help on using the changeset viewer.