Changeset 852 for codes/icosagcm/devel


Ignore:
Timestamp:
05/05/19 14:58:31 (5 years ago)
Author:
dubos
Message:

devel : moved DYSL for compute_pvort_only into compute_pvort_only.F90

Location:
codes/icosagcm/devel
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • codes/icosagcm/devel/Python/codegen

    r626 r852  
    1111    echo $* 
    1212    $* 
     13} 
     14 
     15function extract_dysl() 
     16{ 
     17    sed -n '/BEGIN_DYSL/,/END_DYSL/{//b;p}' compute_pvort_only.F90  
    1318} 
    1419 
  • codes/icosagcm/devel/Python/src/kernels_caldyn_hevi.jin

    r837 r852  
    178178END_BLOCK 
    179179 
    180 KERNEL(pvort_only) 
    181   FORALL_CELLS_EXT() 
    182     ON_DUAL 
    183       etav = 0.d0 
    184       FORALL_EDGES 
    185          etav = etav + SIGN*u(EDGE) 
    186       END_BLOCK 
    187       hv=0. 
    188       FORALL_VERTICES 
    189         hv = hv + RIV2*rhodz(VERTEX) 
    190       END_BLOCK 
    191       qv(DUAL_CELL) = (etav + FV*AV )/(hv*AV) 
    192     END_BLOCK 
    193   END_BLOCK 
    194  
    195   FORALL_CELLS() 
    196     ON_EDGES 
    197       qu(EDGE)=0.5d0*(qv(VERTEX1)+qv(VERTEX2)) 
    198     END_BLOCK 
    199   END_BLOCK 
    200 END_BLOCK 
    201  
    202180KERNEL(coriolis) 
    203181! 
  • codes/icosagcm/devel/make_python

    r846 r852  
    2626} 
    2727 
     28function cmd_extract_dysl() 
     29{ 
     30    XT=$DYNAMICO_ROOT/Python/src/kernels_extracted.jin 
     31    rm -f $XT 
     32    touch $XT 
     33    cd $DYNAMICO_ROOT/src 
     34    for F90 in */*.F90 ; do 
     35        sed -n '/BEGIN_DYSL/,/END_DYSL/{//b;p}' $F90 >> $XT 
     36    done 
     37    cd $DYNAMICO_ROOT 
     38} 
     39 
    2840function update_kernels() 
    2941{ 
     
    3244        update "$x" "$DYNAMICO_ROOT/src/$2/$x" 
    3345    done 
    34  
    3546} 
    3647 
     
    3849{ 
    3950    cmd_clean 
     51    cmd_extract_dysl 
    4052    cd $KERNELS 
    4153    ./codegen hexagonal hex_master unstructured 
  • codes/icosagcm/devel/src/dynamics/compute_pvort_only.F90

    r840 r852  
    1717  END SUBROUTINE check_interface 
    1818   
     19#if BEGIN_DYSL 
     20 
     21KERNEL(pvort_only) 
     22  FORALL_CELLS_EXT() 
     23    ON_DUAL 
     24      etav = 0.d0 
     25      FORALL_EDGES 
     26         etav = etav + SIGN*u(EDGE) 
     27      END_BLOCK 
     28      hv=0. 
     29      FORALL_VERTICES 
     30        hv = hv + RIV2*rhodz(VERTEX) 
     31      END_BLOCK 
     32      qv(DUAL_CELL) = (etav + FV*AV )/(hv*AV) 
     33    END_BLOCK 
     34  END_BLOCK 
     35 
     36  FORALL_CELLS() 
     37    ON_EDGES 
     38      qu(EDGE)=0.5d0*(qv(VERTEX1)+qv(VERTEX2)) 
     39    END_BLOCK 
     40  END_BLOCK 
     41END_BLOCK 
     42 
     43#endif END_DYSL 
     44 
    1945  SUBROUTINE compute_pvort_only_unst(u,rhodz,qu,qv, hv_) 
    2046    USE ISO_C_BINDING, only : C_DOUBLE, C_FLOAT 
     
    92118 
    93119END MODULE compute_pvort_only_mod 
     120 
Note: See TracChangeset for help on using the changeset viewer.