Ignore:
Timestamp:
Sep 21, 2022, 9:58:03 AM (3 years ago)
Author:
dcugnet
Message:

Add modifications for sequantial version of dynetat0 + fix in reprobus case.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/dyn3dmem/dynetat0_loc.F90

    r4264 r4265  
    152152!--- Tracers
    153153  ALLOCATE(q_glo(ip1jmp1,llm))
     154  lOldHNO3=.FALSE.
    154155#ifdef REPROBUS
    155 !--- Old convention: HNO3 = g+l and HNO3_g = g ; new convention: HNO3tot = g+l and HNO3 = g
     156  !--- Old convention: HNO3 = g+l and HNO3_g = g ; new convention: HNO3tot = g+l and HNO3 = g
    156157  lOldHNO3 = NF90_INQ_VARID(fID,var,vID), "inq", 'HNO3tot') /= NF90_NoErr
    157158#endif
     
    159160    var = tracers(iq)%name
    160161    oldVar = new2oldName(var)
     162    !--------------------------------------------------------------------------------------------------------------------------
     163    IF(NF90_INQ_VARID(fID, var, vID) == NF90_NoErr .AND. .NOT.lOldHNO3) THEN             !=== REGULAR CASE
     164      CALL get_var2(var,q_glo); q(ijb_u:ije_u,:,iq)=q_glo(ijb_u:ije_u,:)
     165    !--------------------------------------------------------------------------------------------------------------------------
     166    ELSE IF(NF90_INQ_VARID(fID, oldVar, vID) == NF90_NoErr) THEN                         !=== OLD NAME
     167      CALL msg('Tracer <'//TRIM(var)//'> is missing => initialized to <'//TRIM(oldVar)//'>', modname)
     168      CALL get_var2(oldVar, q_glo); q(ijb_u:ije_u,:,iq)=q_glo(ijb_u:ije_u,:)
     169    !--------------------------------------------------------------------------------------------------------------------------
    161170#ifdef REPROBUS
    162     IF(lOldHNO3 .AND. var == 'HNO3') THEN                                                !=== REPROBUS: HNO3_g INSTEAD OF HNO3
     171    ELSE IF(lOldHNO3 .AND. var == 'HNO3') THEN                                           !=== REPROBUS: HNO3_g INSTEAD OF HNO3
    163172      CALL msg('Tracer <HNO3_g> is used for <HNO3> (old convention)', modname)
    164173      CALL get_var2( 'HNO3_g', q_glo); q(ijb_u:ije_u,:,iq)=q_glo(ijb_u:ije_u,:)
     
    167176      CALL get_var2( 'HNO3', q_glo); q(ijb_u:ije_u,:,iq)=q_glo(ijb_u:ije_u,:)
    168177#endif
    169     !--------------------------------------------------------------------------------------------------------------------------
    170     ELSE IF(NF90_INQ_VARID(fID, var, vID) == NF90_NoErr) THEN                            !=== REGULAR CASE
    171       CALL get_var2(var,q_glo); q(ijb_u:ije_u,:,iq)=q_glo(ijb_u:ije_u,:)
    172     !--------------------------------------------------------------------------------------------------------------------------
    173     ELSE IF(NF90_INQ_VARID(fID, oldVar, vID) == NF90_NoErr) THEN                         !=== OLD NAME
    174       CALL msg('Tracer <'//TRIM(var)//'> is missing => initialized to <'//TRIM(oldVar)//'>', modname)
    175       CALL get_var2(oldVar, q_glo); q(ijb_u:ije_u,:,iq)=q_glo(ijb_u:ije_u,:)
    176     !--------------------------------------------------------------------------------------------------------------------------
    177178#ifdef INCA
    178179    ELSE IF(NF90_INQ_VARID(fID, 'OX',   vID) == NF90_NoErr .AND. var == 'O3') THEN       !=== INCA: OX INSTEAD OF O3
Note: See TracChangeset for help on using the changeset viewer.