<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://pwiki.pic.es/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tonello</id>
	<title>Public PIC Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://pwiki.pic.es/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tonello"/>
	<link rel="alternate" type="text/html" href="https://pwiki.pic.es/index.php?title=Special:Contributions/Tonello"/>
	<updated>2026-05-15T10:54:16Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>https://pwiki.pic.es/index.php?title=AC_UserManual&amp;diff=243</id>
		<title>AC UserManual</title>
		<link rel="alternate" type="text/html" href="https://pwiki.pic.es/index.php?title=AC_UserManual&amp;diff=243"/>
		<updated>2018-03-19T12:57:10Z</updated>

		<summary type="html">&lt;p&gt;Tonello: /* Home directory */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NOTE: '''Brackets {} in the following notes have to be removed'''. They are used to define variables.&lt;br /&gt;
&lt;br /&gt;
For example: this is the home directory path for the user ''jsmith'':&lt;br /&gt;
&lt;br /&gt;
 /nfs/pic.es/user/{initial_user}/{user} ---&amp;gt; /nfs/pic.es/user/j/jsmith&lt;br /&gt;
&lt;br /&gt;
== Home directory ==&lt;br /&gt;
Once you have your PIC account you are able to access the UI's machines:&lt;br /&gt;
&lt;br /&gt;
 ssh {user}@ui.pic.es&lt;br /&gt;
&lt;br /&gt;
and you are you are logged in to your &amp;quot;home&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 /nfs/pic.es/user/{initial_user}/{user}&lt;br /&gt;
&lt;br /&gt;
This directory is basically thought for storing your software.&lt;br /&gt;
It is backed-up and has 10GiB of capacity.&lt;br /&gt;
&lt;br /&gt;
== Storage ==&lt;br /&gt;
=== Massive storage ===&lt;br /&gt;
Each project has a massive storage space accessible at the following path:&lt;br /&gt;
 /pnfs/pic.es/data/astro/{project} (see projects_url for more details)&lt;br /&gt;
which has only read permissions for the project's users.&lt;br /&gt;
&lt;br /&gt;
Inside the directory there are two different paths corresponding to two different back-ends:&lt;br /&gt;
&lt;br /&gt;
==== Tape ====&lt;br /&gt;
 /pnfs/pic.es/data/astro/{project}/tape&lt;br /&gt;
As its name suggests, the data in the tape path is stored in magnetic tapes, and is critical, such as raw data or very difficult data to obtain or to get.&lt;br /&gt;
The size of each file is usually large, from 1-2GB to 100-200GB, due to technical reasons (they are usually ''iso'' or ''tar.bz2'' files).&lt;br /&gt;
Data in tapes is not very often accessed. It is necessary a previous step when accessing data in tapes, which is the pre-stage. This step is the action of reading the magnetic tape and put the data into a buffer. Once the data is in the buffer one can access the data as it was in a disk. After some time, the data is removed from the buffer. In case the data in tape has to be available for long time get in touch with the contant person of the project.&lt;br /&gt;
&lt;br /&gt;
==== Disk ====&lt;br /&gt;
 /pnfs/pic.es/data/astro/{project}/disk&lt;br /&gt;
Disk data is usually the data being currently used by the project, and it is being very often accessed. The size of the files is not important here.&lt;br /&gt;
&lt;br /&gt;
=== Scratch ===&lt;br /&gt;
&lt;br /&gt;
Each user has a scratch space at the following path:&lt;br /&gt;
 /nfs/astro/{user}&lt;br /&gt;
This space is thought as a sandbox.&lt;br /&gt;
When the project decides some data from any scratch space is important enough for the whole collaboration, the contact person for each project will move the data into the /pnfs storage.&lt;br /&gt;
&lt;br /&gt;
Take note that all '''data older than 6 months may be erased at any time''' without prior notice.&lt;br /&gt;
&lt;br /&gt;
'''Any location not included in the former paths is not allowed and its contents erased on sight.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Working with Python environments (any machine except Big Data platform) ==&lt;br /&gt;
&lt;br /&gt;
1.1 Usually environments are all saved in the same directory (e.g. ~/env). In case it is not created:&lt;br /&gt;
&lt;br /&gt;
 mkdir ~/env/&lt;br /&gt;
&lt;br /&gt;
1.2 Create a new environment:&lt;br /&gt;
 cd  ~/env/&lt;br /&gt;
 virtualenv {env_name}&lt;br /&gt;
&lt;br /&gt;
1.3 Activate environment:&lt;br /&gt;
&lt;br /&gt;
 . ~/env/{env_name}/bin/activate&lt;br /&gt;
&lt;br /&gt;
1.4 Update pip command (only for the first time):&lt;br /&gt;
&lt;br /&gt;
 pip install -U pip&lt;br /&gt;
&lt;br /&gt;
1.5 Install any package you need (in case you have any problem with some package, please contact us)&lt;br /&gt;
&lt;br /&gt;
e.g. jupyter notebooks package:&lt;br /&gt;
 pip install jupyter[notebook]&lt;br /&gt;
&lt;br /&gt;
e.g numpy package:&lt;br /&gt;
 pip install numpy&lt;br /&gt;
&lt;br /&gt;
== Download code and git rules ==&lt;br /&gt;
&lt;br /&gt;
These are the git rules for developers at PIC.&lt;br /&gt;
&lt;br /&gt;
The methodology written below is a try to help the code development of the team and they are thought for non-experts git users.&lt;br /&gt;
&lt;br /&gt;
It has been compiled from the official git documentation, which we strongly recommend to look at (at least the first three chapters):&lt;br /&gt;
&lt;br /&gt;
[https://git-scm.com/book/en/v2 Git documentation]&lt;br /&gt;
&lt;br /&gt;
And from this git branch model:&lt;br /&gt;
&lt;br /&gt;
[http://nvie.com/posts/a-successful-git-branching-model A successful Git branching model]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We assume you already have a PIC account and you have already created a python virtual environment&lt;br /&gt;
&lt;br /&gt;
Codes are hosted at https://gitlab.pic.es.&lt;br /&gt;
&lt;br /&gt;
1. Download the code (first you need to have permissions to do it)&lt;br /&gt;
&lt;br /&gt;
1.1. Access ui:&lt;br /&gt;
&lt;br /&gt;
 ssh {user}@ui.pic.es&lt;br /&gt;
&lt;br /&gt;
1.2 Usually software is stored in the same directory:&lt;br /&gt;
&lt;br /&gt;
 mkdir ~/src/&lt;br /&gt;
&lt;br /&gt;
1.2 Create a directory in which you are going to develop your codes, e.g:&lt;br /&gt;
&lt;br /&gt;
 mkdir -p ~/{src}/{software_project_name}&lt;br /&gt;
&lt;br /&gt;
1.3 Copy the code from the gitlab repository in the created directory:&lt;br /&gt;
&lt;br /&gt;
 cd ~/src/{software_project_name}&lt;br /&gt;
 git clone https://gitlab01.pic.es/{software_project_name}/{pipeline}.git&lt;br /&gt;
&lt;br /&gt;
1.4 Activate your environment&lt;br /&gt;
 &lt;br /&gt;
 . ~/env/{env_name}/bin/activate&lt;br /&gt;
&lt;br /&gt;
1.5 Locate the `setup.py` file of the project (usually in the main software directory), and deploit the code:&lt;br /&gt;
&lt;br /&gt;
 cd  ~/src/{software_project_name}&lt;br /&gt;
 pip install -e .&lt;br /&gt;
&lt;br /&gt;
2. Create your own branch&lt;br /&gt;
&lt;br /&gt;
Every project has two main protected branches: ''master'' and ''develop''. Protected means you, as a standard developer, will not have permissions to write on them. Therefore in order to develop your features in the code you need to create your own branch that will always come from the ''develop'' branch.&lt;br /&gt;
&lt;br /&gt;
2.1 Enter in the project directory:&lt;br /&gt;
 &lt;br /&gt;
 cd {pipeline}&lt;br /&gt;
&lt;br /&gt;
2.2 Create the branch:&lt;br /&gt;
&lt;br /&gt;
 git checkout -b feature_branch_name origin/develop&lt;br /&gt;
 &lt;br /&gt;
3. Modify the code&lt;br /&gt;
&lt;br /&gt;
3.1 Day Tip:&lt;br /&gt;
&lt;br /&gt;
Everyday you sit in your computer and want to modify the code, in order not to be outdated in the changes made in the develop branch, you should do:&lt;br /&gt;
&lt;br /&gt;
3.1.1 Download any modification in the code&lt;br /&gt;
&lt;br /&gt;
 git fetch&lt;br /&gt;
&lt;br /&gt;
3.1.2 Incorporate changes in the ''develop'' branch into your feature_branch_name branch&lt;br /&gt;
 &lt;br /&gt;
 git rebase origin/develop&lt;br /&gt;
&lt;br /&gt;
(Hopefully there will be no conflicts if all developers are working in ''independent'' branches. If this is not the case and you have doubts after reading the references given in point 5 below, please call us before meshing it up!)&lt;br /&gt;
&lt;br /&gt;
3.2 See the changes you have done&lt;br /&gt;
&lt;br /&gt;
 git status&lt;br /&gt;
&lt;br /&gt;
3.3 Add changes&lt;br /&gt;
&lt;br /&gt;
 git add changed_files&lt;br /&gt;
&lt;br /&gt;
3.4 Commit changes&lt;br /&gt;
&lt;br /&gt;
 git commit -m &amp;quot;message describing the modifications&amp;quot;&lt;br /&gt;
&lt;br /&gt;
4. Finish the new feature&lt;br /&gt;
&lt;br /&gt;
Once you finish to develop, debug and test the new feature you send us an email.&lt;br /&gt;
&lt;br /&gt;
We immediately will send you back another one saying that your feature has been integrated into the develop branch.&lt;br /&gt;
&lt;br /&gt;
Note that your branch will be deleted.&lt;br /&gt;
&lt;br /&gt;
5. Incorporate changes and start a new feature again&lt;br /&gt;
&lt;br /&gt;
In order to start with a new feature you need to incorporate the changes we just did (integrate the feature into develop) and create another new branch:&lt;br /&gt;
&lt;br /&gt;
 git fetch&lt;br /&gt;
&lt;br /&gt;
 git checkout -b anoter_feature_branch_name origin/develop&lt;/div&gt;</summary>
		<author><name>Tonello</name></author>
	</entry>
	<entry>
		<id>https://pwiki.pic.es/index.php?title=AC_UserManual&amp;diff=242</id>
		<title>AC UserManual</title>
		<link rel="alternate" type="text/html" href="https://pwiki.pic.es/index.php?title=AC_UserManual&amp;diff=242"/>
		<updated>2018-03-19T12:55:31Z</updated>

		<summary type="html">&lt;p&gt;Tonello: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NOTE: '''Brackets {} in the following notes have to be removed'''. They are used to define variables.&lt;br /&gt;
&lt;br /&gt;
For example: this is the home directory path for the user ''jsmith'':&lt;br /&gt;
&lt;br /&gt;
 /nfs/pic.es/user/{initial_user}/{user} ---&amp;gt; /nfs/pic.es/user/j/jsmith&lt;br /&gt;
&lt;br /&gt;
== Home directory ==&lt;br /&gt;
Once you have your PIC account you are able to access the UI's machines:&lt;br /&gt;
&lt;br /&gt;
 ssh {user}@ui.pic.es&lt;br /&gt;
&lt;br /&gt;
and you are you are logged in to your &amp;quot;home&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 /nfs/pic.es/user/{initial_user}/{user}&lt;br /&gt;
&lt;br /&gt;
This directory is basically though for storing your software.&lt;br /&gt;
It is backup and has 10GiB of capacity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Storage ==&lt;br /&gt;
=== Massive storage ===&lt;br /&gt;
Each project has a massive storage space accessible at the following path:&lt;br /&gt;
 /pnfs/pic.es/data/astro/{project} (see projects_url for more details)&lt;br /&gt;
which has only read permissions for the project's users.&lt;br /&gt;
&lt;br /&gt;
Inside the directory there are two different paths corresponding to two different back-ends:&lt;br /&gt;
&lt;br /&gt;
==== Tape ====&lt;br /&gt;
 /pnfs/pic.es/data/astro/{project}/tape&lt;br /&gt;
As its name suggests, the data in the tape path is stored in magnetic tapes, and is critical, such as raw data or very difficult data to obtain or to get.&lt;br /&gt;
The size of each file is usually large, from 1-2GB to 100-200GB, due to technical reasons (they are usually ''iso'' or ''tar.bz2'' files).&lt;br /&gt;
Data in tapes is not very often accessed. It is necessary a previous step when accessing data in tapes, which is the pre-stage. This step is the action of reading the magnetic tape and put the data into a buffer. Once the data is in the buffer one can access the data as it was in a disk. After some time, the data is removed from the buffer. In case the data in tape has to be available for long time get in touch with the contant person of the project.&lt;br /&gt;
&lt;br /&gt;
==== Disk ====&lt;br /&gt;
 /pnfs/pic.es/data/astro/{project}/disk&lt;br /&gt;
Disk data is usually the data being currently used by the project, and it is being very often accessed. The size of the files is not important here.&lt;br /&gt;
&lt;br /&gt;
=== Scratch ===&lt;br /&gt;
&lt;br /&gt;
Each user has a scratch space at the following path:&lt;br /&gt;
 /nfs/astro/{user}&lt;br /&gt;
This space is thought as a sandbox.&lt;br /&gt;
When the project decides some data from any scratch space is important enough for the whole collaboration, the contact person for each project will move the data into the /pnfs storage.&lt;br /&gt;
&lt;br /&gt;
Take note that all '''data older than 6 months may be erased at any time''' without prior notice.&lt;br /&gt;
&lt;br /&gt;
'''Any location not included in the former paths is not allowed and its contents erased on sight.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Working with Python environments (any machine except Big Data platform) ==&lt;br /&gt;
&lt;br /&gt;
1.1 Usually environments are all saved in the same directory (e.g. ~/env). In case it is not created:&lt;br /&gt;
&lt;br /&gt;
 mkdir ~/env/&lt;br /&gt;
&lt;br /&gt;
1.2 Create a new environment:&lt;br /&gt;
 cd  ~/env/&lt;br /&gt;
 virtualenv {env_name}&lt;br /&gt;
&lt;br /&gt;
1.3 Activate environment:&lt;br /&gt;
&lt;br /&gt;
 . ~/env/{env_name}/bin/activate&lt;br /&gt;
&lt;br /&gt;
1.4 Update pip command (only for the first time):&lt;br /&gt;
&lt;br /&gt;
 pip install -U pip&lt;br /&gt;
&lt;br /&gt;
1.5 Install any package you need (in case you have any problem with some package, please contact us)&lt;br /&gt;
&lt;br /&gt;
e.g. jupyter notebooks package:&lt;br /&gt;
 pip install jupyter[notebook]&lt;br /&gt;
&lt;br /&gt;
e.g numpy package:&lt;br /&gt;
 pip install numpy&lt;br /&gt;
&lt;br /&gt;
== Download code and git rules ==&lt;br /&gt;
&lt;br /&gt;
These are the git rules for developers at PIC.&lt;br /&gt;
&lt;br /&gt;
The methodology written below is a try to help the code development of the team and they are thought for non-experts git users.&lt;br /&gt;
&lt;br /&gt;
It has been compiled from the official git documentation, which we strongly recommend to look at (at least the first three chapters):&lt;br /&gt;
&lt;br /&gt;
[https://git-scm.com/book/en/v2 Git documentation]&lt;br /&gt;
&lt;br /&gt;
And from this git branch model:&lt;br /&gt;
&lt;br /&gt;
[http://nvie.com/posts/a-successful-git-branching-model A successful Git branching model]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We assume you already have a PIC account and you have already created a python virtual environment&lt;br /&gt;
&lt;br /&gt;
Codes are hosted at https://gitlab.pic.es.&lt;br /&gt;
&lt;br /&gt;
1. Download the code (first you need to have permissions to do it)&lt;br /&gt;
&lt;br /&gt;
1.1. Access ui:&lt;br /&gt;
&lt;br /&gt;
 ssh {user}@ui.pic.es&lt;br /&gt;
&lt;br /&gt;
1.2 Usually software is stored in the same directory:&lt;br /&gt;
&lt;br /&gt;
 mkdir ~/src/&lt;br /&gt;
&lt;br /&gt;
1.2 Create a directory in which you are going to develop your codes, e.g:&lt;br /&gt;
&lt;br /&gt;
 mkdir -p ~/{src}/{software_project_name}&lt;br /&gt;
&lt;br /&gt;
1.3 Copy the code from the gitlab repository in the created directory:&lt;br /&gt;
&lt;br /&gt;
 cd ~/src/{software_project_name}&lt;br /&gt;
 git clone https://gitlab01.pic.es/{software_project_name}/{pipeline}.git&lt;br /&gt;
&lt;br /&gt;
1.4 Activate your environment&lt;br /&gt;
 &lt;br /&gt;
 . ~/env/{env_name}/bin/activate&lt;br /&gt;
&lt;br /&gt;
1.5 Locate the `setup.py` file of the project (usually in the main software directory), and deploit the code:&lt;br /&gt;
&lt;br /&gt;
 cd  ~/src/{software_project_name}&lt;br /&gt;
 pip install -e .&lt;br /&gt;
&lt;br /&gt;
2. Create your own branch&lt;br /&gt;
&lt;br /&gt;
Every project has two main protected branches: ''master'' and ''develop''. Protected means you, as a standard developer, will not have permissions to write on them. Therefore in order to develop your features in the code you need to create your own branch that will always come from the ''develop'' branch.&lt;br /&gt;
&lt;br /&gt;
2.1 Enter in the project directory:&lt;br /&gt;
 &lt;br /&gt;
 cd {pipeline}&lt;br /&gt;
&lt;br /&gt;
2.2 Create the branch:&lt;br /&gt;
&lt;br /&gt;
 git checkout -b feature_branch_name origin/develop&lt;br /&gt;
 &lt;br /&gt;
3. Modify the code&lt;br /&gt;
&lt;br /&gt;
3.1 Day Tip:&lt;br /&gt;
&lt;br /&gt;
Everyday you sit in your computer and want to modify the code, in order not to be outdated in the changes made in the develop branch, you should do:&lt;br /&gt;
&lt;br /&gt;
3.1.1 Download any modification in the code&lt;br /&gt;
&lt;br /&gt;
 git fetch&lt;br /&gt;
&lt;br /&gt;
3.1.2 Incorporate changes in the ''develop'' branch into your feature_branch_name branch&lt;br /&gt;
 &lt;br /&gt;
 git rebase origin/develop&lt;br /&gt;
&lt;br /&gt;
(Hopefully there will be no conflicts if all developers are working in ''independent'' branches. If this is not the case and you have doubts after reading the references given in point 5 below, please call us before meshing it up!)&lt;br /&gt;
&lt;br /&gt;
3.2 See the changes you have done&lt;br /&gt;
&lt;br /&gt;
 git status&lt;br /&gt;
&lt;br /&gt;
3.3 Add changes&lt;br /&gt;
&lt;br /&gt;
 git add changed_files&lt;br /&gt;
&lt;br /&gt;
3.4 Commit changes&lt;br /&gt;
&lt;br /&gt;
 git commit -m &amp;quot;message describing the modifications&amp;quot;&lt;br /&gt;
&lt;br /&gt;
4. Finish the new feature&lt;br /&gt;
&lt;br /&gt;
Once you finish to develop, debug and test the new feature you send us an email.&lt;br /&gt;
&lt;br /&gt;
We immediately will send you back another one saying that your feature has been integrated into the develop branch.&lt;br /&gt;
&lt;br /&gt;
Note that your branch will be deleted.&lt;br /&gt;
&lt;br /&gt;
5. Incorporate changes and start a new feature again&lt;br /&gt;
&lt;br /&gt;
In order to start with a new feature you need to incorporate the changes we just did (integrate the feature into develop) and create another new branch:&lt;br /&gt;
&lt;br /&gt;
 git fetch&lt;br /&gt;
&lt;br /&gt;
 git checkout -b anoter_feature_branch_name origin/develop&lt;/div&gt;</summary>
		<author><name>Tonello</name></author>
	</entry>
	<entry>
		<id>https://pwiki.pic.es/index.php?title=AC_UserManual&amp;diff=145</id>
		<title>AC UserManual</title>
		<link rel="alternate" type="text/html" href="https://pwiki.pic.es/index.php?title=AC_UserManual&amp;diff=145"/>
		<updated>2017-03-20T09:33:14Z</updated>

		<summary type="html">&lt;p&gt;Tonello: /* Create new environment */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Storage ==&lt;br /&gt;
=== Massive storage ===&lt;br /&gt;
Each project has a massive storage space accessible at the following path:&lt;br /&gt;
 /pnfs/pic.es/data/astro/{project} (see projects_url for more details)&lt;br /&gt;
which has only read permissions for the project's users.&lt;br /&gt;
&lt;br /&gt;
Inside the directory there are two different paths corresponding to two different back-ends:&lt;br /&gt;
&lt;br /&gt;
==== Tape ====&lt;br /&gt;
 /pnfs/pic.es/data/astro/{project}/tape&lt;br /&gt;
As its name suggests, the data in the tape path is stored in magnetic tapes, and is critical, such as raw data or very difficult data to obtain or to get.&lt;br /&gt;
The size of each file is usually large, from 1-2GB to 100-200GB, due to technical reasons (they are usually ''iso'' or ''tar.bz2'' files).&lt;br /&gt;
Data in tapes is not very often accessed. It is necessary a previous step when accessing data in tapes, which is the pre-stage. This step is the action of reading the magnetic tape and put the data into a buffer. Once the data is in the buffer one can access the data as it was in a disk. After some time, the data is removed from the buffer. In case the data in tape has to be available for long time get in touch with the contant person of the project.&lt;br /&gt;
&lt;br /&gt;
==== Disk ====&lt;br /&gt;
 /pnfs/pic.es/data/astro/{project}/disk&lt;br /&gt;
Disk data is usually the data being currently used by the project, and it is being very often accessed. The size of the files is not important here.&lt;br /&gt;
&lt;br /&gt;
=== Scratch ===&lt;br /&gt;
&lt;br /&gt;
Each user has a scratch space at the following path:&lt;br /&gt;
 /nfs/astro/{user}&lt;br /&gt;
This space is thought as a sandbox.&lt;br /&gt;
When the project decides some data from any scratch space is important enough for the whole collaboration, the contact person for each project will move the data into the /pnfs storage.&lt;br /&gt;
&lt;br /&gt;
Take note that all '''data older than 6 months may be erased at any time''' without prior notice.&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
Each user has a software space (for editable source code) at the following path.&lt;br /&gt;
 /software/astro/src/{user}&lt;br /&gt;
This space is limited so please be careful with the size of the code (e.g. people downloading all branches/tags in svn repositories).&lt;br /&gt;
&lt;br /&gt;
Each user has an environment space (for python virtual environments, see python_env_url for more details) at the following path:&lt;br /&gt;
 /software/astro/env/{user}&lt;br /&gt;
&lt;br /&gt;
'''Any location not included in the former paths is not allowed and its contents erased on sight.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Download code and git rules ==&lt;br /&gt;
&lt;br /&gt;
These are the git rules for developers at PIC.&lt;br /&gt;
&lt;br /&gt;
The methodology written below is a try to help the code development of the team and they are thought for non-experts git users.&lt;br /&gt;
&lt;br /&gt;
It has been compiled from the official git documentation, which we strongly recommend to look at (at least the first three chapters):&lt;br /&gt;
&lt;br /&gt;
[https://git-scm.com/book/en/v2 Git documentation]&lt;br /&gt;
&lt;br /&gt;
And from this git branch model:&lt;br /&gt;
&lt;br /&gt;
[http://nvie.com/posts/a-successful-git-branching-model A successful Git branching model]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We assume you already have a PIC account.&lt;br /&gt;
&lt;br /&gt;
Codes are hosted at https://gitlab.pic.es.&lt;br /&gt;
&lt;br /&gt;
1. Download the code (first you need to have permissions to do it)&lt;br /&gt;
&lt;br /&gt;
The user software area can only be edited from services.astro so you must have access to this machine in order to edit the code.&lt;br /&gt;
&lt;br /&gt;
1.1. Access ui:&lt;br /&gt;
&lt;br /&gt;
 ssh {user}@ui.pic.es&lt;br /&gt;
&lt;br /&gt;
1.2. Access services.astro:&lt;br /&gt;
&lt;br /&gt;
 ssh {user}@ui.pic.es&lt;br /&gt;
&lt;br /&gt;
1.3 Go to your software area in which you are going to develop your codes:&lt;br /&gt;
&lt;br /&gt;
 cd /software/astro/src/{user}/&lt;br /&gt;
&lt;br /&gt;
1.4 Copy the code from the gitlab repository:&lt;br /&gt;
&lt;br /&gt;
 git clone https://gitlab01.pic.es/{project}/{pipeline}.git&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Create your own branch&lt;br /&gt;
&lt;br /&gt;
Every project has two main protected branches: ''master'' and ''develop''. Protected means you, as a standard developer, will not have permissions to write on them. Therefore in order to develop your features in the code you need to create your own branch that will always come from the ''develop'' branch.&lt;br /&gt;
&lt;br /&gt;
2.1 Enter in the project directory:&lt;br /&gt;
 &lt;br /&gt;
 cd {pipeline}&lt;br /&gt;
&lt;br /&gt;
2.2 Create the branch:&lt;br /&gt;
&lt;br /&gt;
 git checkout -b feature_branch_name origin/develop&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
3. Modify the code&lt;br /&gt;
&lt;br /&gt;
3.1 Day Tip:&lt;br /&gt;
&lt;br /&gt;
Everyday you sit in your computer and want to modify the code, in order not to be outdated in the changes made in the develop branch, you should do:&lt;br /&gt;
&lt;br /&gt;
3.1.1 Download any modification in the code&lt;br /&gt;
&lt;br /&gt;
 git fetch&lt;br /&gt;
&lt;br /&gt;
3.1.2 Incorporate changes in the ''develop'' branch into your feature_branch_name branch&lt;br /&gt;
 &lt;br /&gt;
 git rebase origin/develop&lt;br /&gt;
&lt;br /&gt;
(Hopefully there will be no conflicts if all developers are working in ''independent'' branches. If this is not the case and you have doubts after reading the references given in point 5 below, please call us before meshing it up!)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3.2 See the changes you have done&lt;br /&gt;
&lt;br /&gt;
 git status&lt;br /&gt;
&lt;br /&gt;
3.3 Add changes&lt;br /&gt;
&lt;br /&gt;
 git add changed_files&lt;br /&gt;
&lt;br /&gt;
3.4 Commit changes&lt;br /&gt;
&lt;br /&gt;
 git commit -m &amp;quot;message describing the modifications&amp;quot;&lt;br /&gt;
&lt;br /&gt;
4. Finish the new feature&lt;br /&gt;
&lt;br /&gt;
Once you finish to develop, debug and test the new feature you send us an email.&lt;br /&gt;
&lt;br /&gt;
We immediately will send you back another one saying that your feature has been integrated into the develop branch.&lt;br /&gt;
&lt;br /&gt;
Note that your branch will be deleted.&lt;br /&gt;
&lt;br /&gt;
5. Incorporate changes and start a new feature again&lt;br /&gt;
&lt;br /&gt;
In order to start with a new feature you need to incorporate the changes we just did (integrate the feature into develop) and create another new branch:&lt;br /&gt;
&lt;br /&gt;
 git fetch&lt;br /&gt;
&lt;br /&gt;
 git checkout -b anoter_feature_branch_name origin/develop&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Create new environment ===&lt;br /&gt;
&lt;br /&gt;
Go to the directory in which you want to create a virtual environment.&lt;br /&gt;
&lt;br /&gt;
{user_dir}/env/&lt;br /&gt;
&lt;br /&gt;
These are the commands to create, activate and set up the platform of binary python wheel packages:&lt;br /&gt;
&lt;br /&gt;
 cd {user_dir}/env/&lt;br /&gt;
 /software/astro/sl6/python/2.7.11/bin/python /software/astro/sl6/python/2.7.11/bin/virtualenv {virtual_env_name}&lt;br /&gt;
 . {virtual_env_name}/bin/activate&lt;br /&gt;
 # Define _PYTHON_HOST_PLATFORM&lt;br /&gt;
 export _PYTHON_HOST_PLATFORM=pic_sl6&lt;br /&gt;
&lt;br /&gt;
Then, having the virtual environment activated, in order to install any package ({package}) you just have to type:&lt;br /&gt;
&lt;br /&gt;
 pip install {package}&lt;br /&gt;
&lt;br /&gt;
==== Example : paudm environment ====&lt;br /&gt;
&lt;br /&gt;
With the virtual environment created and activated as described above, install the paudm packages.&lt;br /&gt;
&lt;br /&gt;
For each package (in order: tools, resources, environment, register, nightly,...) run:&lt;br /&gt;
 cd /software/astro/src/{user}/{paudm_code_dir}&lt;br /&gt;
 pip install -e .&lt;br /&gt;
&lt;br /&gt;
The dependencies written in the setup.py will be fulfilled.&lt;/div&gt;</summary>
		<author><name>Tonello</name></author>
	</entry>
	<entry>
		<id>https://pwiki.pic.es/index.php?title=AC_UserManual&amp;diff=138</id>
		<title>AC UserManual</title>
		<link rel="alternate" type="text/html" href="https://pwiki.pic.es/index.php?title=AC_UserManual&amp;diff=138"/>
		<updated>2017-01-04T09:59:53Z</updated>

		<summary type="html">&lt;p&gt;Tonello: /* Create new environment */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Storage ==&lt;br /&gt;
=== Massive storage ===&lt;br /&gt;
Each project has a massive storage space accessible at the following path:&lt;br /&gt;
 /pnfs/pic.es/data/astro/{project} (see projects_url for more details)&lt;br /&gt;
which has only read permissions for the project's users.&lt;br /&gt;
&lt;br /&gt;
Inside the directory there are two different paths corresponding to two different back-ends:&lt;br /&gt;
&lt;br /&gt;
==== Tape ====&lt;br /&gt;
 /pnfs/pic.es/data/astro/{project}/tape&lt;br /&gt;
As its name suggests, the data in the tape path is stored in magnetic tapes, and is critical, such as raw data or very difficult data to obtain or to get.&lt;br /&gt;
The size of each file is usually large, from 1-2GB to 100-200GB, due to technical reasons (they are usually ''iso'' or ''tar.bz2'' files).&lt;br /&gt;
Data in tapes is not very often accessed. It is necessary a previous step when accessing data in tapes, which is the pre-stage. This step is the action of reading the magnetic tape and put the data into a buffer. Once the data is in the buffer one can access the data as it was in a disk. After some time, the data is removed from the buffer. In case the data in tape has to be available for long time get in touch with the contant person of the project.&lt;br /&gt;
&lt;br /&gt;
==== Disk ====&lt;br /&gt;
 /pnfs/pic.es/data/astro/{project}/disk&lt;br /&gt;
Disk data is usually the data being currently used by the project, and it is being very often accessed. The size of the files is not important here.&lt;br /&gt;
&lt;br /&gt;
=== Scratch ===&lt;br /&gt;
&lt;br /&gt;
Each user has a scratch space at the following path:&lt;br /&gt;
 /nfs/astro/{user}&lt;br /&gt;
This space is thought as a sandbox.&lt;br /&gt;
When the project decides some data from any scratch space is important enough for the whole collaboration, the contact person for each project will move the data into the /pnfs storage.&lt;br /&gt;
&lt;br /&gt;
Take note that all '''data older than 6 months may be erased at any time''' without prior notice.&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
Each user has a software space (for editable source code) at the following path.&lt;br /&gt;
 /software/astro/src/{user}&lt;br /&gt;
This space is limited so please be careful with the size of the code (e.g. people downloading all branches/tags in svn repositories).&lt;br /&gt;
&lt;br /&gt;
Each user has an environment space (for python virtual environments, see python_env_url for more details) at the following path:&lt;br /&gt;
 /software/astro/env/{user}&lt;br /&gt;
&lt;br /&gt;
'''Any location not included in the former paths is not allowed and its contents erased on sight.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Download code and git rules ==&lt;br /&gt;
&lt;br /&gt;
These are the git rules for developers at PIC.&lt;br /&gt;
&lt;br /&gt;
The methodology written below is a try to help the code development of the team and they are thought for non-experts git users.&lt;br /&gt;
&lt;br /&gt;
It has been compiled from the official git documentation, which we strongly recommend to look at (at least the first three chapters):&lt;br /&gt;
&lt;br /&gt;
[https://git-scm.com/book/en/v2 Git documentation]&lt;br /&gt;
&lt;br /&gt;
And from this git branch model:&lt;br /&gt;
&lt;br /&gt;
[http://nvie.com/posts/a-successful-git-branching-model A successful Git branching model]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We assume you already have a PIC account.&lt;br /&gt;
&lt;br /&gt;
Codes are hosted at https://gitlab.pic.es.&lt;br /&gt;
&lt;br /&gt;
1. Download the code (first you need to have permissions to do it)&lt;br /&gt;
&lt;br /&gt;
The user software area can only be edited from services.astro so you must have access to this machine in order to edit the code.&lt;br /&gt;
&lt;br /&gt;
1.1. Access ui:&lt;br /&gt;
&lt;br /&gt;
 ssh {user}@ui.pic.es&lt;br /&gt;
&lt;br /&gt;
1.2. Access services.astro:&lt;br /&gt;
&lt;br /&gt;
 ssh {user}@ui.pic.es&lt;br /&gt;
&lt;br /&gt;
1.3 Go to your software area in which you are going to develop your codes:&lt;br /&gt;
&lt;br /&gt;
 cd /software/astro/src/{user}/&lt;br /&gt;
&lt;br /&gt;
1.4 Copy the code from the gitlab repository:&lt;br /&gt;
&lt;br /&gt;
 git clone https://gitlab01.pic.es/{project}/{pipeline}.git&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Create your own branch&lt;br /&gt;
&lt;br /&gt;
Every project has two main protected branches: ''master'' and ''develop''. Protected means you, as a standard developer, will not have permissions to write on them. Therefore in order to develop your features in the code you need to create your own branch that will always come from the ''develop'' branch.&lt;br /&gt;
&lt;br /&gt;
2.1 Enter in the project directory:&lt;br /&gt;
 &lt;br /&gt;
 cd {pipeline}&lt;br /&gt;
&lt;br /&gt;
2.2 Create the branch:&lt;br /&gt;
&lt;br /&gt;
 git checkout -b feature_branch_name origin/develop&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
3. Modify the code&lt;br /&gt;
&lt;br /&gt;
3.1 Day Tip:&lt;br /&gt;
&lt;br /&gt;
Everyday you sit in your computer and want to modify the code, in order not to be outdated in the changes made in the develop branch, you should do:&lt;br /&gt;
&lt;br /&gt;
3.1.1 Download any modification in the code&lt;br /&gt;
&lt;br /&gt;
 git fetch&lt;br /&gt;
&lt;br /&gt;
3.1.2 Incorporate changes in the ''develop'' branch into your feature_branch_name branch&lt;br /&gt;
 &lt;br /&gt;
 git rebase origin/develop&lt;br /&gt;
&lt;br /&gt;
(Hopefully there will be no conflicts if all developers are working in ''independent'' branches. If this is not the case and you have doubts after reading the references given in point 5 below, please call us before meshing it up!)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3.2 See the changes you have done&lt;br /&gt;
&lt;br /&gt;
 git status&lt;br /&gt;
&lt;br /&gt;
3.3 Add changes&lt;br /&gt;
&lt;br /&gt;
 git add changed_files&lt;br /&gt;
&lt;br /&gt;
3.4 Commit changes&lt;br /&gt;
&lt;br /&gt;
 git commit -m &amp;quot;message describing the modifications&amp;quot;&lt;br /&gt;
&lt;br /&gt;
4. Finish the new feature&lt;br /&gt;
&lt;br /&gt;
Once you finish to develop, debug and test the new feature you send us an email.&lt;br /&gt;
&lt;br /&gt;
We immediately will send you back another one saying that your feature has been integrated into the develop branch.&lt;br /&gt;
&lt;br /&gt;
Note that your branch will be deleted.&lt;br /&gt;
&lt;br /&gt;
5. Incorporate changes and start a new feature again&lt;br /&gt;
&lt;br /&gt;
In order to start with a new feature you need to incorporate the changes we just did (integrate the feature into develop) and create another new branch:&lt;br /&gt;
&lt;br /&gt;
 git fetch&lt;br /&gt;
&lt;br /&gt;
 git checkout -b anoter_feature_branch_name origin/develop&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Create new environment ===&lt;br /&gt;
&lt;br /&gt;
There is a directory in which each user can create its own virtual environments.&lt;br /&gt;
&lt;br /&gt;
 /software/astro/env/{user}/&lt;br /&gt;
&lt;br /&gt;
These are the commands to create, activate and set up the platform of binary python wheel packages:&lt;br /&gt;
&lt;br /&gt;
 cd /software/astro/env/{user}/&lt;br /&gt;
 /software/astro/sl6/python/2.7.11/bin/python /software/astro/sl6/python/2.7.11/bin/virtualenv {virtual_env_name}&lt;br /&gt;
 . {virtual_env_name}/bin/activate&lt;br /&gt;
 # Define _PYTHON_HOST_PLATFORM&lt;br /&gt;
 export _PYTHON_HOST_PLATFORM=pic_sl6&lt;br /&gt;
&lt;br /&gt;
Then, having the virtual environment activated, in order to install any package ({package}) you just have to type:&lt;br /&gt;
&lt;br /&gt;
 pip install {package}&lt;br /&gt;
&lt;br /&gt;
==== Example : paudm environment ====&lt;br /&gt;
&lt;br /&gt;
With the virtual environment created and activated as described above, install the paudm packages.&lt;br /&gt;
&lt;br /&gt;
For each package (in order: tools, resources, environment, register, nightly,...) run:&lt;br /&gt;
 cd /software/astro/src/{user}/{paudm_code_dir}&lt;br /&gt;
 pip install -e .&lt;br /&gt;
&lt;br /&gt;
The dependencies written in the setup.py will be fulfilled.&lt;/div&gt;</summary>
		<author><name>Tonello</name></author>
	</entry>
</feed>