Ignore:
Timestamp:
05/07/10 15:05:34 (15 years ago)
Author:
bellier
Message:

New handling for time axes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • IOIPSL/trunk/src/histcom.f90

    r1005 r1011  
    11281128    IF (pzid > W_F(idf)%n_zax) THEN 
    11291129      WRITE(str70, & 
    1130  &    '("The vertical coordinate chosen for variable ",a)') & 
     1130 &    '("The vertical coordinate chosen for variable ",A)') & 
    11311131 &     TRIM(tmp_name) 
    11321132      str71 = " Does not exist." 
     
    13001300  IF (l_dbg) WRITE(*,*) "histdef : 6.0" 
    13011301!- 
    1302   IF (W_F(idf)%W_V(iv)%freq_wrt > 0) THEN 
    1303     WRITE(str10,'(I8.8)') INT(W_F(idf)%W_V(iv)%freq_wrt) 
    1304     str40 = TRIM(W_F(idf)%W_V(iv)%topp)//"_"//TRIM(str10) 
    1305   ELSE 
    1306     WRITE(str10,'(I2.2,"month")') ABS(INT(W_F(idf)%W_V(iv)%freq_wrt)) 
    1307     str40 = TRIM(W_F(idf)%W_V(iv)%topp)//"_"//TRIM(str10) 
    1308   ENDIF 
    1309   CALL find_str (W_F(idf)%W_V(1:W_F(idf)%n_tax)%tax_name,str40,pos) 
    1310 !- 
    13111302! No time axis for once, l_max, l_min or never operation 
    13121303!- 
     
    13151306 &    .AND.(TRIM(W_F(idf)%W_V(iv)%topp) /= 'l_max') & 
    13161307 &    .AND.(TRIM(W_F(idf)%W_V(iv)%topp) /= 'l_min') ) THEN 
     1308    IF (TRIM(W_F(idf)%W_V(iv)%topp) == 'inst') THEN 
     1309      str10 = 't_inst_' 
     1310    ELSE 
     1311      str10 = 't_op_' 
     1312    ENDIF 
     1313    IF (W_F(idf)%W_V(iv)%freq_wrt > 0) THEN 
     1314      WRITE (UNIT=str40,FMT='(A,I8.8)') & 
     1315&      TRIM(str10),INT(W_F(idf)%W_V(iv)%freq_wrt) 
     1316    ELSE 
     1317      WRITE (UNIT=str40,FMT='(A,I2.2,"month")') & 
     1318&      TRIM(str10),ABS(INT(W_F(idf)%W_V(iv)%freq_wrt)) 
     1319    ENDIF 
     1320    CALL find_str (W_F(idf)%W_V(1:W_F(idf)%n_tax)%tax_name,str40,pos) 
    13171321    IF (pos < 0) THEN 
    13181322      W_F(idf)%n_tax = W_F(idf)%n_tax+1 
     
    13871391    dims(1) = W_F(idf)%tid 
    13881392    IF (W_F(idf)%n_tax > 1) THEN 
    1389       str30 = "t_"//W_F(idf)%W_V(itx)%tax_name 
     1393      str30 = W_F(idf)%W_V(itx)%tax_name 
    13901394    ELSE 
    13911395      str30 = "time_counter" 
    13921396    ENDIF 
    1393     iret = NF90_DEF_VAR (nfid,str30,NF90_REAL8, & 
    1394  &           dims(1),W_F(idf)%W_V(itx)%tdimid) 
    1395     IF (W_F(idf)%n_tax <= 1) THEN 
     1397    iret = NF90_DEF_VAR (nfid,TRIM(str30),NF90_REAL8, & 
     1398 &          dims(1),W_F(idf)%W_V(itx)%tdimid) 
     1399    IF (itx <= 1) THEN 
    13961400      iret = NF90_PUT_ATT (nfid,W_F(idf)%W_V(itx)%tdimid,'axis',"T") 
    13971401    ENDIF 
    13981402    iret = NF90_PUT_ATT (nfid,W_F(idf)%W_V(itx)%tdimid, & 
    1399  &           'standard_name',"time") 
     1403 &          'standard_name',"time") 
    14001404!--- 
    14011405!   To transform the current itau into a real date and take it 
Note: See TracChangeset for help on using the changeset viewer.