Changes between Version 7 and Version 8 of AuxiliaryRoutines
- Timestamp:
- Dec 21, 2016, 2:09:30 PM (8 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
AuxiliaryRoutines
v7 v8 30 30 31 31 * Because `sens_pointer` is a pointer, the call to `PDAF_get_smootherens` needs an ''explicit'' Fortran interface. This is provided by the Fortran module `PDAF_interfaces_module`. In the header part of the routine that calls `PDAF_get_smootherens` one has to include `use PDAF_interfaces_module`! 32 * Using a pointer combined with an intent, i.e. using a pointer as argument, is a feature of Fortran 2003. Thus, if a too old compiler is used, it will provide an error when the routine is compiled. 32 33 33 34 Notes: … … 57 58 58 59 * Because `sens_pointer` is a pointer, the call to `PDAF_set_smootherens` needs an ''explicit'' Fortran interface. This is provided by the Fortran module `PDAF_interfaces_module`. In the header part of the routine that calls `PDAF_set_smootherens` one has to include `use PDAF_interfaces_module`! 60 * Using a pointer combined with an intent, i.e. using a pointer as argument, is a feature of Fortran 2003. Thus, if a too old compiler is used, it will provide an error when the routine is compiled. 59 61 60 62 … … 122 124 123 125 Note: 124 * the routine can be used in the prepoststep routine when the analysis state should be anal ized.126 * the routine can be used in the prepoststep routine when the analysis state should be analyzed. 125 127 128 129 130 == PDAF-D_set_ens_pointer.F90 == 131 132 This routine allows a program to get a Fortran pointer to the internal ensemble array of PDAF. 133 134 {{{ 135 CALL PDAF_set_ens_pointer(ens_pointer, status) 136 }}} 137 138 The arguments are: 139 140 * `ens_pointer`: The pointer to the smoother ensemble. The dimension is `ens_pointer(:,:)`. Thus in the program calling `PDAF_set_ens_pointer` one has to declare `REAL, POINTER :: sens_pointer(:,:)`. On output it points to the ensemble array. 141 * `status`: Status flag. 0 for successful exit. 142 143 144 '''Important:''' 145 146 * Because `ens_pointer` is a pointer, the call to `PDAF_set_ens_pointer` needs an ''explicit'' Fortran interface. This is provided by the Fortran module `PDAF_interfaces_module`. In the header part of the routine that calls `PDAF_set_ens_pointer` one has to include `use PDAF_interfaces_module`! 147 * Using a pointer combined with an intent, i.e. using a pointer as argument, is a feature of Fortran 2003. Thus, if a too old compiler is used, it will provide an error when the routine is compiled. 148 149 150 Notes: 151 152 * `PDAF_set_ens_pointer` is a special routine that is never needed when the standard online or offline modes of the implementation are used. However, the routine allows to build a model that uses each column of the ensemble array to store the model fields. Thus, one can avoid allocating additional memory for the model fields. 153 154