📄 xxx.pro
字号:
;**;*******************************************************************************;** HOW TO USE THIS TEMPLATE: *;** *;** 0-READ THE WHOLE TEMPLATE ONCE !! *;** 1-CHANGE EVERYWHERE THE STRINGS "XXX" IN THE CHOSEN 3-CHAR MODULE NAME *;** (CHANGE AS WELL THE POSSIBLE "YYY", "ZZZ", "AAA", AND "BBB" STRINGS INTO *;** THE, RESPECTIVELY, FIRST INPUT STRUCTURE TYPE NAME, SECOND INPUT *;** STRUCTURE TYPE NAME, FIRST OUTPUT STRUCTURE TYPE NAME, AND SECOND *;** OUTPUT STRUCTURE TYPE NAME) *;** 2-ADAPT THE TEMPLATE ONTO THE NEW MODULE CASE FOLLOWING THE EXAMPLES, *;** RECOMMENDATIONS, AND ADVICES FOUND THROUGH THE TEMPLATE *;** 3-DELETE ALL THE LINES OF CODE BEGINNING WITH ";**" *;** *;*******************************************************************************;**;**;** here is the routine identification;**; $Id: xxx.pro,v 5.1 2006/01/25 marcel.carbillet $;**;** line here above automatically generated...;**;+; NAME:; xxx;; ROUTINE'S PURPOSE:; xxx manages the simulation for the [PUT HERE THE NAME] (XXX) module,; that is:; 1-call the module's initialisation routine xxx_init at the first; iteration of the simulation project,; 2-call the module's program routine xxx_prog otherwise, managing; at the same time the possible time integration/delay.;**;** put here all other possible informations about how the routine works.;**;; MODULE'S PURPOSE:;**;** place here a DETAILED descrition about the module and its Graphical User;** Interface. this will be used used as the module help in the global CAOS;** hyper-text help file xyz_help.html.;**;** here is a general description of the overall set of module's routines:;**;*******************************************************************************;** HOW A MODULE IS ORGANISED: *;** *;** EACH MODULE IS MADE OF A GIVEN GROUP OF STANDARD ROUTINES (SIX). TWO OF *;** THEM ARE DIRECTLY CALLABLE BY THE USER: *;** *;** xxx_gui.pro: GUI definition for saving the parameters associated to an *;** instance of a module in a standard location and structure. *;** xxx.pro : function to call in order to run the module simulation. the *;** inputs are tested, time behaviour of the module is managed *;** and the right code is called depending on the current status*;** of the simulation: initialization status or running status. *;** *;** AND THE REMAINING FOUR ARE MODULE'S UTILITY ROUTINES: *;** *;** xxx_info.pro : function returning info on the module: description, *;** input, output, initialization is needed or not, etc.*;** xxx_gen_default.pro: function where the parameters needed by the module *;** are defined and saved in a standard location and *;** structure (the file xxx_default.sav). it is used *;** only during the module developing. *;** xxx_init.pro : function called during the initialization process, *;** by xxx.pro (this is where the initialisation data *;** are computed). do not call it directly. *;** xxx_prog.pro : function containing the algorithm that simulates *;** the module. this is where the main code of the *;** module is. it has to be called from xxx.pro, do not *;** call it directly. *;** *;** IN ADDITION, TWO SUB-FOLDERS CAN BE USED TO STORE SUB-ROUTINES USED EITHER *;** FOR THE GUI OR THE MODULE'S ROUTINES: *;** *;** xxx_gui_lib: library of routines specific to the program xxx_gui.pro. *;** *;** xxx_lib : library of routines specific to the program(s) xxx.pro, *;** xxx_init.pro, and/or xxx_prog.pro. *;** *;** NOTE THAT UTILITY ROUTINES OF GENERAL INTEREST FOR THE PACKAGE (I.E. FOR *;** SEVERAL MODULES OF THE SAME PACKAGE OR AS A STANDALONE ROUTINE) COULD BE *;** THOUGHT TO BE STORED IN THE PACKAGE FOLDER !CAOS_ENV.PACK_LIB, OR EVEN, IF *;** OF MORE GENERAL INTEREST IN THE CAOS SYSTEM FOLDER !CAOS_ENV.LIB. *;** *;*******************************************************************************;; CATEGORY:; main module's routine;; CALLING SEQUENCE:; error = xxx(inp_yyy_t, $ ; 1st input structure; inp_zzz_t, $ ; 2nd input structure; out_aaa_t, $ ; 1st output structure; out_bbb_t, $ ; 2nd output structure; par, $ ; parameter structure; INIT=init, $ ; initialisation data structure; TIME=time ) ; time integration/delay structure;**;** in this example we describe the generic example of a module with 2 inputs;** and 2 outputs, that needs initialisation data and time integration/delay;** management.;** if your module needs just one or even no input, and/or just one or even no;** output, and/or no time integration/delay management, just DELETE;** the concerned lines above and below.;** ;; OUTPUT:; error: long scalar (error code, see !caos_error var in caos_init.pro).;; INPUTS:; inp_yyy_t: structure of type yyy_t.;**;** describe here this input;**; inp_zzz_t: structure of type zzz_t.;**;** describe here this input;**; par : parameters structure.;**;** describe here the parameters file;**;; INCLUDED OUTPUTS:; out_aaa_t: structure of type aaa_t.;**;** describe here this output;**; out_bbb_t: structure of type bbb_t.;**;** describe here this output;**;; KEYWORD PARAMETERS:;**;** the keyword INIT is needed only if an initialisation is requested;**; INIT: initialisation data structure.;**;** the keyword TIME is needed only if time integration/delay is requested;**; TIME: time-evolution structure.;; COMMON BLOCKS:; common caos_block, tot_iter, this_iter;; tot_iter : total number of iteration during the simulation run.; this_iter : current iteration number.;; SIDE EFFECTS:; none.;**;** describe here the possible side effects;**;; RESTRICTIONS:; none.;**;** describe here the possible restrictions using the module;**;; CALLED NON-IDL FUNCTIONS:; none.;**;** describe here the non-IDL routines used by xxx.pro, if any.;** these routines must be put either in the module's sub-folder;** !caos_env.modules+"xxx/xxx_lib/", or in the Package library;** folder !caos_env.pack_lib, or even in the CAOS system library;** !caos_env.lib.;**;; ROUTINE MODIFICATION HISTORY:; routine written: date,; author (institute) [e-mail].; modifications : date,; author (institute) [e-mail]:; -description of the modifications.; : date,; author (institute) [e-mail]:; -description of the modifications.;; MODULE MODIFICATION HISTORY:; module written : author (institute) [e-mail].; modifications : for version software_version,; author (institute) [e-mail]:; -modifications made.;**;** ROUTINE'S TEMPLATE MODIFICATION HISTORY:;** routine written: may 1998,;** Armando Riccardi (OAA) [riccardi@arcetri.astro.it].;** modifications : november 1998,;** Armando Riccardi (OAA) [riccardi@arcetri.astro.it]:;** -completely re-written in order to manage the;** initialization process, calibration loop and timing;** support.;** : january/february 1999,;** Armando Riccardi (OAA) [riccardi@arcetri.astro.it],
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -